Word 2010 で番号付きリストを作成しました。各リスト エントリには画像もあります。すべての画像を中央揃えにしたいのですが、画像を中央揃えにしようとすると、その上のテキストも中央揃えになってしまいます。
テキストを上下に中央揃えにせずに、リスト内の画像を中央揃えにするにはどうすればよいでしょうか。
答え1
さて、次のようにします。
- 画像を右クリックして、「サイズと位置...」を選択します。
- 「テキストの折り返し」タブを選択します
- 「上と下」を選択
- 「位置」タブを選択します
- 「水平」セクションで「配置」を選択し、「列」を基準に「中央揃え」を選択します。
残念ながら、複数の画像に対してこれを行うと問題が発生します。書式設定ペインターは機能しません。また、マクロ レコーダーを使用するだけでは、画像を選択しようとすると問題が発生します。
したがって、VBA マクロを作成してキーにバインドすることが、これを超効率的にする唯一の方法であると思われます。この点に関して役立つ投稿が 2 つあります。
- https://groups.google.com/forum/?fromgroups=#!topic/microsoft.public.word.vba.general/j4ZaBiOYKDU
- https://stackoverflow.com/questions/9809475/insert-resize-and-relocate-image-using-a-microsoft-word-macro
これらの参照の最初のものから、次の VBA マクロをテストしました。正常に動作するようです。
Sub FormatMyPicture()
Dim myShape As Shape
If Selection.InlineShapes.Count > 0 Then
Set myShape = Selection.InlineShapes(1).ConvertToShape
ElseIf Selection.ShapeRange.Count > 0 Then
Set myShape = Selection.ShapeRange(1)
Else
MsgBox "Please select a picture first."
Exit Sub
End If
With myShape
.WrapFormat.Type = wdWrapTopBottom
.WrapFormat.DistanceTop = InchesToPoints(0.2)
.WrapFormat.DistanceBottom = InchesToPoints(0.2)
.RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
.Left = wdShapeCenter
End With
End Sub
答え2
MS Word ですべてのインライン画像を中央揃えにするには:
ステップ1: Alt+を押してF11VBA エディターを開きます
ステップ2: へ移動Insert
それからModule
ステップ3: VBAエディタで次のコードスニペットを入力します
Sub centerPictures()
Dim shpIn As InlineShape, shp As Shape
For Each shpIn In ActiveDocument.InlineShapes
shpIn.Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Next shpIn
For Each shp In ActiveDocument.Shapes
shp.Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Next shp
End Sub
ステップ4: を押すF5か、Run Sub
この変更を適用するには
答え3
これが誰かの役に立つことを願います
Sub rezize_center_newline()
Dim i As Long
Dim shpIn As InlineShape, shp As Shape
With ActiveDocument
For i = 1 To .InlineShapes.Count
With .InlineShapes(i)
.Height = InchesToPoints(4)
.Width = InchesToPoints(5.32)
.Range.InsertAfter Chr(13)
End With
Next i
For Each shpIn In ActiveDocument.InlineShapes
shpIn.Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Next shpIn
For Each shp In ActiveDocument.Shapes
shp.Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Next shp
End With
End Sub