Взаимодействие w/Графики Используя VBA в Word 2007

У меня есть длинный документ MS Word 2007 года, в котором я иногда должен заменять все встроенные графики.

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

Но, я вошел в очень простую проблему: Я не могу выяснить, как даже выбрать встроенный график в VBA. Функция "Record Macro" в Word не записывает изменения в графике по некоторым причинам и весь учебный адрес онлайн, взаимодействующий с графиками в Excel.

Кто-то мог отправить некоторый короткий пример кода (или ссылка, объясняющая), который показывает некоторое основное взаимодействие со встроенными графиками в Word?

1
задан 29.08.2014, 03:56

2 ответа

Взгляните на это сообщение в Блоге MSDN: Модель Объекта диаграммы Office в PowerPoint и Word

Это требует SP2 для Office 2007.

1
ответ дан 12.12.2019, 10:48

Это должно работать на оба встроенных изображения (jpg, и т.д.) или встроенные диаграммы:

'Kill 'em all: pictures, OLE object, hyperlinks, ActiveX controls, etc.
Sub DeleteAllShapes()
    Dim shp As InlineShape

    For Each shp In ActiveDocument.InlineShapes
        shp.Delete
    Next shp
End Sub

Существует также объект "Формы" (и набор Форм), который относится ко всем формам более в общем - встроены ли они или нет. Форма может быть многими вещами - используют свойство Type для возврата типа встроенной формы: изображение, связанное изображение, встроило Объект OLE, связанный Объект OLE, элементы управления ActiveX и т.д. Если Вы имеете много различных типов и должны отличить их, можно окружить Ваш удалять с чем-то как:

If shp.Type = wdInlineShapeEmbeddedOLEObject Then
    shp.Delete
End If

Один способ добавить новое изображение:

' Insert a picture at the current insertion point.
Sub InsertPicture(ByVal FileName As String)

    Selection.InlineShapes.AddPicture _
                             FileName:=FileName, _
                             SaveWithDocument:=True
End Sub
2
ответ дан 12.12.2019, 10:48

Теги

Похожие вопросы