excel - Excel VBA 宏后期绑定
问题描述
我在 Excel 文件中嵌入了 Word 文档。我使用下面的宏将单元格值从 Excel 复制到嵌入的 Word 文档书签。宏在 Excel 2016 中工作正常。问题是我需要在几个 Excel 版本的宏中使用它。当我尝试在 Excel 2010 中打开 XLS 文档并运行宏时,我收到以下错误:“在隐藏模块 1 中编译错误。此错误通常发生在代码与版本不兼容时...”我想我必须翻译我的代码使用后期绑定,因此它不使用 VBA 项目引用。请帮忙!
Sub update_bookmark()
Dim oRng As Word.Range
Set objWordTemplate = Sheets("Form1").OLEObjects("Object 1")
objWordTemplate.Activate
objWordTemplate.Object.Application.Visible = True
Worksheets("source_sheet").Activate
Set oRng = ActiveDocument.Bookmarks("name").Range
oRng.Text = Cells(Application.ActiveCell.Row, 2)
ActiveDocument.Bookmarks.Add "name", oRng
End
End Sub
解决方案
取消选中 Word 参考并更新您的代码,如下所示:
Sub update_bookmark()
Dim oRng As Object
Dim objWordTemplate as Object
Set objWordTemplate = Sheets("Form1").OLEObjects("Object 1")
objWordTemplate.Activate
objWordTemplate.Object.Application.Visible = True
Worksheets("source_sheet").Activate
Set oRng = objWordTemplate.Object.Application.ActiveDocument.Bookmarks("name").Range
oRng.Text = Cells(Application.ActiveCell.Row, 2)
objWordTemplate.Object.Application.ActiveDocument.Bookmarks.Add "name", oRng
End Sub
推荐阅读
- angular - Angular 6 如何在单击上获取另一个组件
- objective-c - Swift init 在 Objective-C 中不可见
- mysql - 一个计费周期内的多次定期收费
- openedge - Progress 4GL:如何找到定义过程的位置
- python - ZMQ连接和推送——如何判断是否失败
- android - 布尔 java.util.List.add(java.lang.Object)
- r - R中的PCA,使得第一个特征向量是常数向量
- python - 在 setup.py build 中包括来自项目根目录的 python 文件
- javascript - 使用 cookie 每天显示一次弹出窗口
- html - 结合 flex 和 position:fixed