如何在超链接excel中创建相对路径? (Word.Document.12)

时间:2015-05-19 13:15:57

标签: excel vba excel-vba

我有两个文档,一个包含所有信息,一个是word文档,另一个是excel文档,只有word文档中的一些突出显示。

我想在word和excel单元格中的某些选定文本之间创建一些链接,到目前为止,特殊的过去做得很好,并以此格式创建链接

=Word.Document.12|'C:\Users\...\xxx.docx'!'!OLE_LINK9'

现在我想在我的usb中复制这两个文件,然后在其他计算机上复制它们,这就是问题所在,我必须重新做一遍又一遍,因为现在道路不同了,我作为一个解决方案是把单词文件的路径放在单元格中让我们说A1并连接上面的公式,比如

=Word.Document.12|A1!'!OLE_LINK9'

但它不起作用,它会抛出错误信息,你能帮我吗?

PS:我想尽可能避免使用vba

1 个答案:

答案 0 :(得分:0)

  

PS:我想尽可能避免使用vba

我已经包含了这两种方法,因为问题也标有Excel-VBA:)

选择。

VBA Way

这是你在尝试的吗?

Sub Sample()
    Dim objOle As OLEObject

    '~~> Change this to the respective Sheet name
    With ThisWorkbook.Sheets("Sheet1")
        '~~> This is your embedded word object
        Set objOle = .OLEObjects("Object 1")

        '~~> Cell A1 has a path like C:\Temp\
        objOle.SourceName = "Word.Document.12|" & .Range("A1").Value & "xxx.docx!'"
    End With
End Sub

非VBA方式

创建一个命名范围并称之为Filepath。将公式设置为

="Word.Document.12|'" & Sheet1!$A$1 & "xxx.docx'!'"

Cell A1将具有文件路径。

enter image description here

下一步选择您的Word文档,然后在公式栏中输入=Filepath,您就完成了。

enter image description here