我在 Word 文档中有以下 Excel 链接:
问题是,当进行更改时,引用的 Excel 表和 Word 文档上的文档版本都会发生变化。
因此我需要更新链接路径。
我想使用 VBA 宏来执行此操作,以下是我目前所做的:
Sub Replace_Link()
Dim iShp As InlineShape
Dim exWb As Excel.Workbook
For Each iShp In ActiveDocument.InlineShapes
With ActiveDocument
Set exWb = objExcel.Workbooks.Open(.Path & "\" & Replace$(.Name, ".docm", ".xlsm"))
End With
With iShp
If Not .OLEFormat Is Nothing Then
If Split(.OLEFormat.ClassType)(0) = "Excel" Then
.LinkFormat.SourcePath = exWb
End If
End If
End With
Next
End Sub
我收到“Dim exWb As Excel.Workbook”的“用户定义类型未定义”提示。我还非常确定我需要更多代码来包含无法使用“inlineShape”命令更新的“Worksheet”类型链接。
有人能帮忙吗?TIA
答案1
您是否在 VBA 项目中添加了对“Microsoft Excel 14.0 对象库”的引用?(注意:根据您安装的 Excel 版本,14.0 可能会有所不同)
在 VBA 窗口中,从“工具”菜单中选择“引用”以调出“引用 - 项目”对话框。然后向下滚动列表并查找 Microsoft Excel 库并勾选该框(它应该会出现在引用列表的顶部)。