选择Word文档中的所有图像

use*_*574 6 ms-word

我需要在Word文档中进行一些格式更改。为此,我需要选择文档中的所有图像。

有人可以为我提供一个宏/选项,只是选择一个Word文档中的所有图像(我正在使用MS Office 2007)。

Mik*_*ike 4

我不相信有一种简单的方法可以一次选择所有图像,除非它们都与 Text 一致。如果是,那么您可以使用以下示例循环它们以进行格式更改:

Dim iShape As InlineShape

For Each iShape In ActiveDocument.InlineShapes
    With iShape
        .Width = InchesToPoints(2)
        .Height = InchesToPoints(1.5)
    End With
Next iShape
Run Code Online (Sandbox Code Playgroud)

我不确定您是否想要格式化图片或图片周围的一些文本,但您可以执行其中一个(或两者)。

如果图像并非全部与文本一致,那么您可能想要围绕以下内容构建一些内容,这会将您移至下一个图形:

Selection.GoTo What:=wdGoToGraphic, Which:=wdGoToNext, Count:=1, Name:=""
Run Code Online (Sandbox Code Playgroud)

此代码的不同之处在于,它将光标放在下一个图形的前面,但实际上并没有选择它,因此您需要添加到它。如果您想循环遍历整个文档,这里有一些代码可以做到这一点。它将找到每个图形并在其前面键入“测试”一词...直到找不到更多图形。

Selection.HomeKey unit:=wdStory
Do Until ActiveDocument.Bookmarks("\Sel") = ActiveDocument.Bookmarks("\EndOfDoc")
    Selection.GoTo What:=wdGoToGraphic, Which:=wdGoToNext, Count:=1, Name:=""
    Selection.MoveRight unit:=wdWord, Count:=1, Extend:=True
        If Selection.Type = 7 Then
            Selection.Collapse wdCollapseStart
            Selection.TypeText Text:="TEST"
            Selection.MoveRight unit:=wdWord, Count:=1, Extend:=False
        Else
            Exit Sub
        End If
Loop
Run Code Online (Sandbox Code Playgroud)

如果我们确切地知道您想要做什么,将会有所帮助。