MS Word: Выровнять по центру только изображение в списке

MS Word: Выровнять по центру только изображение в списке

Я создал нумерованный список в Word 2010. У каждого элемента списка также есть изображение. Я хочу выровнять все изображения по центру, но когда я пытаюсь выровнять изображение по центру, текст над ним также центрируется.

MS Word 2010 - Список с изображениями

Как выровнять изображения в списке по центру, не центрируя текст сверху и снизу?

решение1

Хорошо, вот что нужно сделать:

  1. Щелкните правой кнопкой мыши по изображению и выберите «Размер и положение...».
  2. Выберите вкладку «Обтекание текстом»
  3. Выберите «Верх и низ»
  4. Выберите вкладку «Позиция»
  5. В разделе «Горизонтально» выберите «Выравнивание», а затем выберите «По центру» относительно «Столбца».

К сожалению, сделать это для нескольких изображений проблематично. Format painter не будет работать. Кроме того, простое использование Macro Recorder вызывает проблемы при попытке выбрать изображение.

Итак, создание макроса VBA и привязка его к клавише, похоже, единственный способ сделать это суперэффективным. Вот два полезных поста по этому поводу:

Из первой из этих ссылок я протестировал следующий макрос 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+ F11, чтобы открыть редактор VBA

Шаг 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

Связанный контент