MS Word VBA 错误:“未找到具有指定名称的项目”

MS Word VBA 错误:“未找到具有指定名称的项目”

我正在尝试设置一个宏来调整交叉引用项目的字段代码,以便只显示数字,例如 3 而不是图 3。

我在网上找到了\# "0"可以添加到字段代码中来执行此操作的方法,而且确实有效。不过我需要经常这样做,所以我尝试通过记录我的击键来设置宏。这是宏:

Sub Macro1() ' ' Macro1 宏 ' ' Selection.MoveLeft 单位:=wdCharacter,计数:=1 ActiveWindow.View.ShowFieldCodes = 非 ActiveWindow.View.ShowFieldCodes ActiveDocument.Shapes.Range(Array("文本框 62")).选择 Selection.TypeText 文本:="# ""0""" ActiveWindow.View.ShowFieldCodes = 非 ActiveWindow.View.ShowFieldCodes ActiveDocument.Shapes.Range(Array("文本框 62")).选择 End Sub

不幸的是,它不起作用。运行后,字段代码确实会显示,但宏在那之后就结束了,我收到以下错误:

微软 Visual Basic

运行时错误‘9’:

未找到具有指定名称的项目。

我不知道如何解决这个问题,非常感谢任何帮助。

答案1

为了模拟您描述的情况,我插入了两个图表,然后插入了标题,最后插入了两个交叉引用。结果我得到了两个带有文本的字段:图1图 2

我利用了你的发现\# "0",并整理了以下宏,删除了文本'数字 '只留下数字。它现在仅适用于 Ref 字段,但我猜也可以用于 WdFieldType 枚举中列出的其他字段类型。

Sub UpdateFieldCodes()
    For Each Field In ActiveDocument.Fields
        If Field.Type = wdFieldRef Then
            Field.Code.Text = Field.Code.Text & " \# ""0"""
            Field.Update
        End If
    Next
End Sub

相关内容