MS Word: リスト内の画像のみを中央揃えにする

MS Word: リスト内の画像のみを中央揃えにする

Word 2010 で番号付きリストを作成しました。各リスト エントリには画像もあります。すべての画像を中央揃えにしたいのですが、画像を中央揃えにしようとすると、その上のテキストも中央揃えになってしまいます。

MS Word 2010 - 画像付きリスト

テキストを上下に中央揃えにせずに、リスト内の画像を中央揃えにするにはどうすればよいでしょうか。

答え1

さて、次のようにします。

  1. 画像を右クリックして、「サイズと位置...」を選択します。
  2. 「テキストの折り返し」タブを選択します
  3. 「上と下」を選択
  4. 「位置」タブを選択します
  5. 「水平」セクションで「配置」を選択し、「列」を基準に「中央揃え」を選択します。

残念ながら、複数の画像に対してこれを行うと問題が発生します。書式設定ペインターは機能しません。また、マクロ レコーダーを使用するだけでは、画像を選択しようとすると問題が発生します。

したがって、VBA マクロを作成してキーにバインドすることが、これを超効率的にする唯一の方法であると思われます。この点に関して役立つ投稿が 2 つあります。

これらの参照の最初のものから、次の 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

関連情報