【问题标题】:Add space and return after inline shape在内联形状后添加空格并返回
【发布时间】:2022-09-30 13:59:11
【问题描述】:

我使用在网上找到的代码将 Word 文档中的所有图片重新调整为相同大小。这按预期工作。

Sub Resize_All_Pictures()
\'
\' Resize_All_Pictures Macro
\'
\'
mytext = \" \"
Dim iShape As InlineShape

For Each iShape In ActiveDocument.InlineShapes
    With iShape
        .Width = InchesToPoints(2.21)
        .Height = InchesToPoints(2.21)
    End With
Next iShape

End Sub

我想在每张图片之后添加一个空格,并在每行图片(一行三张图片)之后添加一个返回。

运行上面的代码后:

我在找什么:

标签: vba ms-word


【解决方案1】:

您需要使用形状的 Range 对象。如果添加计数器,则可以确定是添加空格还是新段落。

Sub Resize_All_Pictures()
    '
    ' Resize_All_Pictures Macro
    '
    '
    Dim iShape As InlineShape
    Dim count As Long

    For Each iShape In ActiveDocument.InlineShapes
        With iShape
            .Width = InchesToPoints(2.21)
            .Height = InchesToPoints(2.21)
            count = count + 1
            If count Mod 3 = 0 Then
                .Range.InsertAfter vbCr
            Else
                .Range.InsertAfter " "
            End If
        End With
    Next iShape

End Sub

【讨论】:

  • 非常感谢!这很好用!你知道为什么它从第一行只有一张图片开始,然后下一行总共有三张吗?再次感谢你!
  • @vognog - 在我的测试中,每行有三张图片。你确定第一个是内联形状吗?
  • 是的,我相信第一个是内联形状。如果我的文档中有三张图片,它会将第一张图片放在自己的行中,然后返回并将以下两张放入下一行。好像把第一张图片放到了自己的行里!谢谢您的帮助!
  • 蒂莫西,我能够解决这个问题!谢谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 2016-05-31
  • 1970-01-01
  • 2020-09-25
  • 2020-01-15
  • 1970-01-01
相关资源
最近更新 更多