【发布时间】:2020-02-13 17:07:52
【问题描述】:
我正在为 Microsoft Word VBA 脚本中的两类信息创建一系列 ActiveX 标签。信息类别为:财政年度 (FY) 和合同收益率 (CY)。我正在创建要放置在一系列表格的指定单元格中的标签。我想更改标签的名称以匹配它们的类别。例如,label1 将被命名为 FY1。我需要更改这些标签的名称,以便它们最终与 Excel 电子表格中的数据相匹配。
我在重命名部分卡住了 (ActiveDocument.Label1.Name = "FY")。
Dim num As Integer
Dim TableNo As Integer
Dim seq As Integer
TableNo = ActiveDocument.Tables.Count
num = 4
seq = 1
'' Labels for "FY"
Do
ActiveDocument.Tables(num).cell(6, 2).Range.InlineShapes.AddOLEControl ClassType:="Forms.Label.1"
ActiveDocument.Label1.Name = "FY"+ seq
seq = seq + 1
num = num + 1
Loop Until num = TableNo + 1
'''Next Group of labels for "CY"
num = 4
seq = 1
Do
ActiveDocument.Tables(3).cell(8, 2).Range.InlineShapes.AddOLEControl ClassType:="Forms.Label.1"
ActiveDocument.Label1.Name = "CY"+ seq
seq = seq + 1
num = num + 1
Loop Until num = TableNo + 1
有一篇相关文章,但我看不出这些例子是如何相关的。
** 我的标签将被插入到文档的第 4 个表中,这就是我使用 num = 4 的原因。
【问题讨论】:
-
“卡住”不是一个有用的问题描述。您应该始终详细描述如何某些东西无法正常工作。
-
我的问题是我不知道如何重命名标签。我可以用 'ActiveDocument.Label1.Caption = "FY1" ' 重命名标题,但我需要替换标签名称。
-
首先,你看到我的回答了吗?其次,问题中的信息并未解释您显示的代码如何不起作用。我假设您在 `ActiveDocument.Label1.Name = "FY"+ seq` 行出现错误?在这种情况下,问题需要包括错误信息和导致它的代码行。由于我对 Word 非常了解,我可以猜到问题所在。但其他人可能做不到,所以你不会得到答案......