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