1

VBAコードを使用して、印刷可能なページ幅に合わせてドキュメント内の画像を減らしています。

Dim myPageWidthWithoutMargins As Single
myPageWidthWithoutMargins = ActiveDocument.PageSetup.PageWidth - ActiveDocument.PageSetup.LeftMargin - ActiveDocument.PageSetup.RightMargin

Dim myShape As InlineShape
For Each myShape In ActiveDocument.InlineShapes
   myShape.LockAspectRatio = msoTrue
   If myShape.Width > myPageWidthWithoutMargins Then
      myShape.Width = myPageWidthWithoutMargins
   End If
Next

別のサブの一部としては機能しませんが、サブからの他のすべての操作が完了した後に手動で起動する別のマクロとして機能します。なぜそしてどのようにそれを修正するのですか?

===============

これは、HTMLファイルを対応するWordドキュメントに変換する大きなサブの一部です。画像を操作するために以前に使用されたコードは次のとおりです。

Dim myImgStyle As Word.Style
Set myImgStyle = ActiveDocument.Styles.Add("CenteredImageStyle", wdStyleTypeParagraph)
With myImgStyle
    .BaseStyle = ActiveDocument.Styles(cNormalStyleName)
    .ParagraphFormat.Alignment = wdAlignParagraphCenter
End With

Dim myShape As InlineShape
For Each myShape In ActiveDocument.InlineShapes
    If Not myShape.LinkFormat Is Nothing Then
       myShape.LinkFormat.SavePictureWithDocument = True
       myShape.LinkFormat.BreakLink
       myShape.Range.Select
       Dim myParaRange As Range
       Set myParaRange = Selection.Paragraphs.First.Range
       If Selection.Start = myParaRange.Start And Selection.End = myParaRange.End - 1 Then
           Selection.Style = myImgStyle
       End If
    End If
Next
4

0 に答える 0