Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 将字符串转换为超链接_Vba_Hyperlink - Fatal编程技术网

Vba 将字符串转换为超链接

Vba 将字符串转换为超链接,vba,hyperlink,Vba,Hyperlink,我已经找了很多关于这个问题的答案,但似乎找不到一个适合我需要的答案。我想可能是因为我不了解超链接在VBA中是如何工作的 目前,我有一个字符串数组(每个字符串代表我服务器上的一个单独文件),我想为每个字符串添加一个超链接,将其带到我服务器上的文件位置。我希望该字符串是超链接的,所以当我将其粘贴到Word或Outlook中时,它已经是超链接的了。在我看来,这应该是一项相当直接的任务;您有一个文本字符串,您有一个文件位置,并且您希望将该文本字符串与文件位置超链接 例如,假设我有一个如下所示的数组: d

我已经找了很多关于这个问题的答案,但似乎找不到一个适合我需要的答案。我想可能是因为我不了解超链接在VBA中是如何工作的

目前,我有一个字符串数组(每个字符串代表我服务器上的一个单独文件),我想为每个字符串添加一个超链接,将其带到我服务器上的文件位置。我希望该字符串是超链接的,所以当我将其粘贴到Word或Outlook中时,它已经是超链接的了。在我看来,这应该是一项相当直接的任务;您有一个文本字符串,您有一个文件位置,并且您希望将该文本字符串与文件位置超链接

例如,假设我有一个如下所示的数组:

docArray={“myDoc1”、“myDoc2”、“myDoc3”}

其中包含的名称为由3个文档组成的字符串

我有另一个数组,其中包含每个文档的文件位置:

docLocArray={“C:\Documents\myDoc1.docx”,“C:\Documents\myDoc2.docx”, “C:\Documents\myDoc3.docx”}

这方面的伪代码类似于:

添加(docArray(1),docLocArray(2))

我有没有办法做到这一点,或者我完全误解了如何使用超链接

我在Autodesk Inventor中工作,如果这与任何人有关

用Word试试这个:

ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="C:\Testdir\Testfile.txt", SubAddress:="", ScreenTip:="", TextToDisplay:="MyFile"

然后在数组中循环查找Path和Filename的值。

“超链接在VBA中的工作原理”-VBA本身对超链接一无所知。超链接的工作方式取决于您所使用的API;Excel的超链接只能以一种方式工作,Word的超链接可以以另一种方式工作。您在Autodesk Inventor中工作,这很好,但这并不能告诉我们您所使用的API。您希望能够将其粘贴到Word/Outlook中—同样,这很好,但您从何处复制它?如果Autodesk Inventor没有超链接,那么您就倒霉了。在对象浏览器(F2)中搜索主机库中的“超链接”。好的,这很有用。我不知道。我是VBA的新手,在学习的过程中。。。我相信我是在用Inventor的API编写代码。我想我不太清楚你说的“你从哪里复制它?”是什么意思。如果有帮助的话,我用来将字符串放入Word的是docWord.Range.InsertAfter(“我的字符串名称”)。对不起,如果我太不清楚了,问得不对。所以。。。如果您正在写入Word文档,那么您就是在使用Word API/对象模型(Inventor与此问题无关)。那你该开始了。只要想清楚用什么来替换
选择.Range
部分,你就可以开始了。好吧,我会尽力解决这个问题。谢谢你的帮助。如果这回答了你的问题,考虑接受它作为一个答案。