2014-10-29 3 views
0

Мне нужно установить все изображения в правую сторону и обернуть текст.VBA Изменить положение всех изображений в слове

enter image description here

так, что появляются любит.

enter image description here

Sub convert() 
    Dim shap As InlineShape, shapa As Shapes, sh As Shape 
    For Each shap In ActiveDocument.InlineShapes 
     shap.Select 
     Selection.Fields.Unlink 
     With Selection 
      .WrapFormat.AllowOverlap = True 
      .WrapFormat.Side = wdWrapBoth 
      'Selection.Fields.Unlink 
     End With 
    Next shap 
    For Each shap In ActiveDocument.InlineShapes 
     shap.Select 

     shap.ConvertToShape 

    Next shap 

    ActiveDocument.Shapes.SelectAll 

    With Selection 
     .ShapeRange.WrapFormat.Type = wdWrapTopBottom 
     .ShapeRange.Top = wdShapeTop 
     .ShapeRange.WrapFormat.Type = wdWrapTopBottom 
     .ShapeRange.Left = wdShapeRight 
    End With 
End Sub 

ответ

0

Нечто подобное могло бы работать.

Sub convert() 
Dim shap As InlineShape, shapa As Shapes, sh As Shape 
For Each shap In ActiveDocument.InlineShapes 
    shap.Select 
    Selection.Fields.Unlink 
    Set sh = shap.ConvertToShape 
    With sh 
     .Left = wdShapeRight 
     .WrapFormat.Type = wdWrapSquare 
     .WrapFormat.AllowOverlap = True 
     .WrapFormat.Side = wdWrapLeft 
    End With 
Next shap 
End Sub 

Одна вещь, которая может быть сложно о InlineShapes/форм является то, что вы действительно должны установить новую переменную для формы, в противном случае вы получите сообщение об ошибке при использовании свойства формы на переменную, которая имеет тип InlineShape.

Смежные вопросы