【发布时间】:2019-08-07 06:45:36
【问题描述】:
我有一个包含几个顺序标签的 word 文档(目前是 ActiveX 控件,可以接受建议,见下图),标签为 label1、label2 等。
我想使用 VBA 使用 excel 中的数据为这些标签添加字幕。
到目前为止,我的方法基于这篇文章,但想添加一个循环来为每个标签添加标题(我有大约 40 个),而不需要 40 行代码。
https://www.makeuseof.com/tag/integrate-excel-data-word-document/
我使用 ActiveX 控件的原因是教程建议使用它。由于它们被称为“遗产”,我想还有更好的选择。
这是我当前的代码:
Private Sub LoadText1_Click()
Dim objExcel As New Excel.Application
Dim exWb As Excel.Workbook
Dim cnt As Integer
Set exWb = objExcel.Workbooks.Open("D:\...\content.xlsx")
For cnt = 1 To 40
ThisDocument.ContentControls("label" & cnt).Caption = exWb.Sheets("Sheet1").Cells(cnt, 1)
'Alternative methods tried:
ThisDocument.OLEObjects("label" & cnt).Object.Caption = exWb.Sheets("Sheet1").Cells(cnt, 1)
ThisDocument.Controls("label" & cnt).Caption = exWb.Sheets("Sheet1").Cells(cnt, 1)
ThisDocument.Shapes("label" & cnt).OLEFormat.Caption = exWb.Sheets("Sheet1").Cells(cnt, 1)
Next cnt
exWb.Close
Set exWb = Nothing
结束子
我大部分时间都收到以下错误:
我试过这个,但没用。
【问题讨论】: