マクロでのグラフィックのスケーリング(Microsoft Word)
ドキュメント内のグラフィックを一定の割合で定期的に拡大縮小する必要がある場合があります。リボンツールを使用してスケーリングを行うのは面倒な場合があるため、 linkクイックアクセスツールバーボタンまたはショートカットキーに割り当てることができるマクロを使用してスケーリングを行うことをお勧めします。次のマクロは、スケーリングの実行を非常にうまく処理します。
Sub PictSize() Dim PercentSize As Integer PercentSize = InputBox("Enter percent of full size", _ "Resize Picture", 75) If Selection.InlineShapes.Count > 0 Then Selection.InlineShapes(1).ScaleHeight = PercentSize Selection.InlineShapes(1).ScaleWidth = PercentSize Else Selection.ShapeRange.ScaleHeight Factor:=(PercentSize / 100), _ RelativeToOriginalSize:=msoCTrue Selection.ShapeRange.ScaleWidth Factor:=(PercentSize / 100), _ RelativeToOriginalSize:=msoCTrue End If End Sub
マクロは最初に、選択した画像を拡大縮小するパーセンテージを要求し、デフォルトとして75(75%)を提供します。パーセンテージを指定すると、マクロは、選択したグラフィックがインライングラフィックかフローティンググラフィックかを確認します。これを行う理由は、オブジェクトの仕様がそれぞれの場合で異なり、スケーリングの指定方法も異なるためです。インラインオブジェクトはInlineShapesコレクションに属しますが、フローティングオブジェクトはShapeRangeオブジェクトを使用して設定されます。
ドキュメント内のすべてのグラフィックのサイズを同じ割合で変更する場合は、上記のマクロを変更するだけで、各インライングラフィック、次に各フローティンググラフィックの順に移動します。
Sub AllPictSize() Dim PercentSize As Integer Dim oIshp As InlineShape Dim oshp As Shape PercentSize = InputBox("Enter percent of full size", _ "Resize Picture", 75) For Each oIshp In ActiveDocument.InlineShapes With oIshp .ScaleHeight = PercentSize .ScaleWidth = PercentSize End With Next oIshp For Each oshp In ActiveDocument.Shapes With oshp .ScaleHeight Factor:=(PercentSize / 100), _ RelativeToOriginalSize:=msoCTrue .ScaleWidth Factor:=(PercentSize / 100), _ RelativeToOriginalSize:=msoCTrue End With Next oshp End Sub
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(7069)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス:
linkマクロでのグラフィックのスケーリング。