Назначьте изображение, хранящееся в книге Excel, новому удаленному документу Word, созданному с помощью VBA - PullRequest
0 голосов
/ 29 мая 2020

Всем доброе утро,

Я ищу способ, позволяющий пользователю Excel создать документ Word (это уже работает для меня с библиотекой объектов Word), чтобы добавить объект изображения в этот документ Word и, наконец, чтобы персонализировать это изображение, программно назначив этому изображению изображение, хранящееся в Рабочем листе из Рабочей книги Excel, где все указано. Единственное, что я сделал, - это создал изображение в текстовом документе. Set Logo = doc.Shapes.addOLEControl("forms.image.1") У меня два ограничения, о которых нужно помнить: 1 / Я хочу избежать сохранения изображения на любом диске , особенно из-за специальных разрешений сервера, 2 / Я решил иметь элемент управления изображением на листе (вместо простого изображения), следовательно, этот элемент управления ранее получает с помощью сценария VBA, lo go загружается пользователем через пользовательскую форму.

Хотя я думал, что это будет тот же метод, что и при хранении такого рабочего листа image назначается изображению MsForms.Control в UserForm (Set UserForm.Logo.Picture = ThisWb.Sheets("X").Img_perso.Picture), этот метод, похоже, не работает. Либо, потому что:

  • Слово do c подразумевается на другой стороне и может столкнуться с тупиком метода ActiveX.
  • Или в этом Word подразумевается OLEObject do c?

Чтобы завершить свое «исследование», я попробовал несколько способов взаимодействия с созданным объектом изображения в Word, безуспешно повторяя объекты Fields.

Обновление: мне, наконец, удалось передать изображение через приложения, скопировав объект и затем вставив его в Word с помощью метода PastSpecial, либо путем вставки изображения, либо oleObject, но определение изображения действительно уменьшено, что совершенно непригодно для документ о качестве. Вот код:

ThisWorkbook.Sheets("System").Img_Logo.Copy 
doc.range.PasteSpecial , , , , wdPasteShape 
'Or to paste OLEObject 
doc.range.PasteSpecial , , , , wdPasteOLEObject

Кроме того, кажется невозможным удаленно установить .top, .left или свойства размеров вставленного таким образом объекта. Если кто-то знает лучший способ сохранить качество изображения и разрешить решение для удаленных настроек свойств (от VBA Excel до Word): было бы здорово. Спасибо за внимание,

...