Vba word заменить картинку

Обновлено: 07.07.2024

Вы можете добавлять изображения и графические объекты в документы во время разработки или во время выполнения. WordArt позволяет добавлять декоративный текст в документы Microsoft Office Word. Эти специальные текстовые эффекты представляют собой графические объекты, которые можно настроить и вставить в документ.

Применимо к: Сведения в этом разделе относятся к - проектам уровня документа и добавлению VSTO - в проектах для Word. Дополнительные сведения см. в разделе доступность функций по типам приложений Office и проектов.

Добавление рисунка во время разработки

При создании настройки на уровне документа вы можете добавить изображение в документ во время разработки.

Добавление рисунка в документ Word во время разработки

Поместите курсор в место вставки изображения в документе.

Щелкните вкладку Вставка ленты.

В группе иллюстраций щелкните Рисунок.

В диалоговом окне Вставка рисунка перейдите к рисунку, который необходимо вставить, и нажмите кнопку Вставить.

Рисунок добавляется в документ в текущем положении курсора.

Добавить изображение во время выполнения

Рисунок можно вставить в документ в текущем положении курсора.

Добавление рисунка в позиции курсора

Вызовите метод AddPicture коллекции InlineShapes и передайте имя файла.

Добавление объекта WordArt во время разработки

При создании настройки на уровне документа вы можете добавить объект WordArt в документ во время разработки.

Добавление объекта WordArt в документ Word во время разработки

Поместите курсор в место вставки объекта WordArt в документе.

Щелкните вкладку Вставка ленты.

В текстовой группе щелкните объект WordArt, а затем выберите стиль WordArt.

Добавьте текст, который должен появиться в документе, в диалоговое окно изменение текста WordArt и нажмите кнопку ОК.

Текст добавляется к документу с выбранным стилем WordArt.

Добавление объекта WordArt во время выполнения

Вы можете вставить объект WordArt в документ в текущем положении курсора. Процедура вставки отличается для настроек на уровне документа и надстроек VSTO.

Добавление объекта WordArt в положении курсора в настройке уровня документа

Получите левую и верхнюю позицию текущего положения курсора.

Вызовите метод AddTextEffect объекта Shapes в документе.

Добавление объекта WordArt в положении курсора в надстройке VSTO

Получите левую и верхнюю позицию текущего положения курсора.

Вызовите метод AddTextEffect объекта Shapes активного документа (или другого указанного документа).

Приветствую.
Другой день бодаюсь со вставкой рисунков в Word.

В исходном файле пытаюся вставить рисунок в таблицу с 1 ячейкой содержащей закладку и установить его размеры.

Без костыля меняется только либо высота, либо ширина. При этом ошибки нет
Сегодня создал шаблон с таблицей в 1 ячейку, написал код для вставки

Аналогичным кодом вставляю рисунок на лист, но вылетаю с ошибкой.

Подскажите, где собака порылась? И как правильно?

Обработка идет из Excel.

w d .Bookmarks.Item(marker).Select
w a .Selection.InlineShapes.AddPicture

Эти строки работают, рисунок вставляется.
Не могу изменить размеры
В первом и последнем коде не работают фрагменты
Усомнился, и еще рад проверил
При смене wa и wd получаю объект не поддерживает свойство или метод.
Помнится мне, что у меня тоже не получалось. И я пересчитывал размер, если нужно было сохранить пропорции. Судя из объяснения на мсдн
True if the specified shape retains its original proportions when you resize it. False if you can change the height and width of the shape independently of one another when you resize it. Read/write MsoTriState.
Этот параметр не реагирует на программное изменение ширины или высоты, хотя не совсем ясно, что они понимают под resize.
Для удобства, помести картинку в переменную:
Этим мы ты избавишься от необходимости выделять таблицу, для того, чтобы из выделения получить вставленную картинку.

Идея интересная. Поковыряю.
Не ясно, почему при вставке через закладку не работает (1), а при вставке в таблицу напрямую (2) - работает.
И как достучаться до рисунка, вставленного помимо таблицы?

PS Пересчитывать размер - костыль в коде 1.

Потестил.
Переменная помогла. Спасибо.

Однако, похоже в файле Word глюк.
Тестовый работает, а основной без костыля не хочет.

Другой день бодаюсь со вставкой рисунков в Word.

В исходном файле пытаюся вставить рисунок в таблицу с 1 ячейкой содержащей закладку и установить его размеры.

Без костыля меняется только либо высота, либо ширина. При этом ошибки нет
Сегодня создал шаблон с таблицей в 1 ячейку, написал код для вставки

Аналогичным кодом вставляю рисунок на лист, но вылетаю с ошибкой при изменении размера.

[/vba]
Подскажите, где собака порылась? И как правильно?

Обработка идет из Excel.

Другой день бодаюсь со вставкой рисунков в Word.

В исходном файле пытаюся вставить рисунок в таблицу с 1 ячейкой содержащей закладку и установить его размеры.

Без костыля меняется только либо высота, либо ширина. При этом ошибки нет
Сегодня создал шаблон с таблицей в 1 ячейку, написал код для вставки

Аналогичным кодом вставляю рисунок на лист, но вылетаю с ошибкой при изменении размера.

[/vba]
Подскажите, где собака порылась? И как правильно?

Обработка идет из Excel. RAN

Быть или не быть, вот в чем загвоздка!

Другой день бодаюсь со вставкой рисунков в Word.

В исходном файле пытаюся вставить рисунок в таблицу с 1 ячейкой содержащей закладку и установить его размеры.

Без костыля меняется только либо высота, либо ширина. При этом ошибки нет
Сегодня создал шаблон с таблицей в 1 ячейку, написал код для вставки

Аналогичным кодом вставляю рисунок на лист, но вылетаю с ошибкой при изменении размера.

[/vba]
Подскажите, где собака порылась? И как правильно?

Обработка идет из Excel. Автор - RAN
Дата добавления - 24.04.2014 в 19:14

Добрый день Андрей
В коде в самом Word размер меняет произвольно, думаю, что из Excel будет работать. Или я чего-то не понял в вопросе?
[vba] [/vba]
Успехов.
P. S. Подобно как и в Excel зачем мучать Selection? Добрый день Андрей
В коде в самом Word размер меняет произвольно, думаю, что из Excel будет работать. Или я чего-то не понял в вопросе?
[vba] [/vba]
Успехов.
P. S. Подобно как и в Excel зачем мучать Selection? anvg [/vba]
Успехов.
P. S. Подобно как и в Excel зачем мучать Selection? Автор - anvg
Дата добавления - 25.04.2014 в 05:13

Потестил.
Переменная помогла. Спасибо.

Однако, похоже в файле Word глюк.
Тестовый работает, а основной без костыля не хочет.

Пример теста в архиве.

По поводу Selection подумаю.

Люди разные бывают. Я человеку исправил точку изменения отображения окна Word, а он в претензии - зачем в скрытом режиме сделал, желаю смотреть, как картинки в Word вставляются.

Потестил.
Переменная помогла. Спасибо.

Однако, похоже в файле Word глюк.
Тестовый работает, а основной без костыля не хочет.

Пример теста в архиве.

По поводу Selection подумаю.

Люди разные бывают. Я человеку исправил точку изменения отображения окна Word, а он в претензии - зачем в скрытом режиме сделал, желаю смотреть, как картинки в Word вставляются. RAN

Однако, похоже в файле Word глюк.
Тестовый работает, а основной без костыля не хочет.

Пример теста в архиве.

По поводу Selection подумаю.

Люди разные бывают. Я человеку исправил точку изменения отображения окна Word, а он в претензии - зачем в скрытом режиме сделал, желаю смотреть, как картинки в Word вставляются. Автор - RAN
Дата добавления - 25.04.2014 в 10:55

Добавляет изображение в документ. Возвращает объект InlineShape, который представляет изображение.

Синтаксис

выражение. AddPicture ( _FileName_ , _LinkToFile_ , _SaveWithDocument_ , _Range_ )

выражение (обязательно). Переменная, представляюная коллекциюInlineShapes.

Параметры

Имя Обязательный или необязательный Тип данных Описание
FileName Обязательный String Путь и имя файла изображения.
LinkToFile Необязательный Variant True для привязки изображения к файлу, из которого он был создан. False, чтобы сделать изображение независимой копией файла. Значение по умолчанию — False.
SaveWithDocument Необязательный Variant True для сохранения связанной картинки с документом. Значение по умолчанию — False.
Range Необязательный Variant Расположение, в котором изображение будет размещено в тексте. Если диапазон не свернут, изображение заменяет диапазон; в противном случае изображение вставляется. Если этот аргумент опущен, изображение помещается автоматически.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Читайте также: