Макросы: Вставка рисунка в нужное место документа средствами VBA в Word10.

Автор Посетитель, 22 марта 2019, 13:00

Посетитель

В документе я вставляю курсор в нужное место и затем в позицию курсора я хочу с помощью макроса вставить рисунок из файла. Для вставки рисунка я использую этот код:
    ActiveDocument.Shapes.AddPicture _
    FileName:="полное имя файла с рисунком", Anchor:=Selection.Range

В Word7 все получается, а в Word10 рисунок вставляется в начало документа, а не в то место, где находится курсор.
Подскажите, что нужно сделать?

Мне нужно вставить плавающий рисунок поверх текста. Неплавающий рисунок (тип "в тексте") мне не подходит.

Администратор

Макрос
Sub Макрос()
   
    Dim shape As shape
    Dim FN As String
   
   
    ' Полное имя файла-рисунка.
    FN = "C:\Users\User\Desktop\Рисунок.png"
   
    ' Вставка неплавающего рисунка и превращение неплавающего рисунка в плавающий.
        ' При этом присваиваем рисунку имя 'shape' и далее в коде будем обращаться
        ' к рисунку по имени 'shape'.
    Set shape = Selection.InlineShapes.AddPicture(FileName:=FN, LinkToFile:=False, _
        SaveWithDocument:=True, Range:=Selection.Range).ConvertToShape
   
    ' Здесь можете делать нужные действия с рисункам, используя имя 'shape'.
        ' Например, так можно узнать левое положение рисунка.
        ' Информация запишется в View - Immediate Window.
    Debug.Print shape.Left
   
End Sub
[свернуть]

Посетитель

Уважаемый Администратор! Все получилось! Огромное спасибо.
Одна просьба: объясните, почему мой вариант кода не работал в Word10, а работал в Word7. Что не так? Нужно для самообразования.

Администратор

Предположу, что это брак в ворде 2010, и мне пришлось придумывать обходной способ.