Двойной размер Inline Shapes - PullRequest
0 голосов
/ 06 декабря 2018

Новичок в кодировании, и если кто-то может помочь мне, я буду очень признателен за помощь.Код должен выводить сообщение, когда нет встроенных фигур и когда есть встроенные формы ... Он должен удваивать отношение встроенной формы (размер * 2).

Я столкнулся с несколькими проблемами ... Код не замечает, что в документе есть встроенные фигуры ... и при этом он не меняет аспект / размер встроенных фигур.

Спасибо!

Sub InlineShapesModify ()
Dim RangeShape As word.Range
Set RangeShape = ActiveDocument.Content
Dim ShapeCount As Integer

ShapeCount = 0
With RangeShape.Find
    .Forward = True
    .Execute
    Do While .Found
        ShapeCount = ShapeCount + 1
        RangeShape.Collapse word.WdCollapseDirection.wdCollapseEnd
        .Execute
    Loop
End With

If (ShapeCount = 0) Then
    MsgBox ("No images to modify")
    Exit Sub
ElseIf (ShapeCount > 0) Then
Do While (ShapeCount > 0)
    ActiveDocument.InlineShapes(i).Height = _
    ActiveDocument.InlineShapes(i).Height * 2
    Loop
End If

End Sub

1 Ответ

0 голосов
/ 06 декабря 2018

Предполагая, что все, что вы хотите сделать, это удвоить высоту и ширину всех ваших встроенных фигур, с сообщением, если в документе нет встроенных фигур, это должно работать:

Sub ilshapes()
    Dim h As Long, w As Long, rng As Range, sh As InlineShape

    Set rng = ActiveDocument.Content

    If rng.InlineShapes.Count = 0 Then
        MsgBox "No images to modify."
        Exit Sub
    End If

    For Each sh In ActiveDocument.InlineShapes
        h = sh.Height
        w = sh.Width

        sh.Height = 2 * h
        sh.Height = 2 * w
    Next sh

    MsgBox rng.InlineShapes.Count & " images modified."
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...