在 MS Word 中使用宏来定位图像标题

问题描述 投票:0回答:1

我目前正在使用 VBA 为 Word 编写一个小宏来扫描报告并突出显示所有交叉引用。现在突出显示作为引用的 TypeFields 非常容易。 我似乎无法弄清楚如何定位引用图像的标题。我不希望它们相互连接(还没有),但即使只是找到它们似乎也是不可能的。 我现在想知道,是否有可能定位这些小标题,或者我是否只是遗漏了 VBA 文档中的某些内容。

我尝试使用 InlineShapes.Caption,但没有任何结果(InlineShapes 工作正常,我可以调整大小和删除图像没有问题)。我也尝试过只选择标题,但使用选择后我只是再次得到图像。我还尝试通过 InlineShape.Text 提取标题,但没有结果。还有InlineShape.Caption.Text、InlineShape.CaptionLabel.Text,这些都是无法识别的对象(如果我没记错的话,我尝试了这么多)

这是我想出的小代码,它查找引用,突出显示它们,以及删除图像。

Sub ReferenceHighlight()
    'Define the range as the whole document
    Dim docRange As Range
    Set docRange = ActiveDocument.Range
    'Define all Fields in the Document
    Dim fld As Word.Field
    'Define an incremental integer
    Dim i As Integer
    i = 1
    'Define all Pictures in the Document
    Dim image As InlineShape
    For Each image In docRange.InlineShapes
        image.Delete
    Next image
    For Each fld In docRange.Fields
        If fld.Type = wdFieldRef Then
             fld.Result.HighlightColorIndex = wdYellow
        End If
    Next fld
End Sub
vba ms-word caption
1个回答
0
投票

请尝试一下。

    For Each fld In docRange.Fields
        If fld.Type = wdFieldRef Then
            fld.Select
            Selection.Expand xlLine
            Selection.Range.HighlightColorIndex = wdYellow
        End If
    Next fld
© www.soinside.com 2019 - 2024. All rights reserved.