VBA копирует диаграмму Excel в Word, так как изображение меняет размер диаграммы

Я хочу создать макрос, который копирует графики из Excel и вставляет их в Word в качестве изображений (предпочтительнее улучшенные метафайлы).

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

Однако с моим текущим кодом вставленное изображение слишком велико и закручивает всю таблицу. Я пробовал разные параметры изображения (расширенный метафайл, png и т. Д.), Но все они имеют одинаковый результат.

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

Что мне нужно изменить в моем коде, чтобы получить это?

 Sub CopyCharts2Word() Dim wd As Object Dim ObjDoc As Object Dim FilePath As String Dim FileName As String FilePath = "C:\Users\Name\Desktop" FileName = "Template.docx" 'check if template document is open in Word, otherwise open it On Error Resume Next Set wd = GetObject (, "Word.Application") If wd Is Nothing Then Set wd = CreateObject("Word.Application") Set ObjDoc = wd.Documents.Open(FilePath & "\" & FileName) Else On Error GoTo notOpen Set ObjDoc = wd.Documents(FileName) GoTo OpenAlready notOpen: Set ObjDoc = wd.Documents.Open(FilePath & "\" & FileName) End If OpenAlready: On Error GoTo 0 'find Bookmark in template doc wd.Visible = True ObjDoc.Bookmarks("Boomark1").Select 'copy chart from Excel Sheets("Sheet1").ChartObjects("ChartA").chart.ChartArea.Copy 'insert chart to Bookmark in template doc wd.Selection.PasteSpecial Link:=False, _ DataType:=wdPasteMetafilePicture, _ Placement:=wdInLine, _ DisplayAsIcon:=False End Sub 

Да, вот и все:

Я заменил

 'insert chart to Bookmark in template doc wd.Selection.PasteSpecial Link:=False, _ DataType:=wdPasteMetafilePicture, _ Placement:=wdInLine, _ DisplayAsIcon:=False 

с

 wd.Selection.PasteSpecial Link:=False, _ DataType:=wdPasteMetafilePicture, _ Placement:=wdTight, _ DisplayAsIcon:=False 

Таким образом, размер диаграммы остается таким же, как и в листе Excel!

  • Связанные изображения и таблицы в MS Word
  • Прочтите встроенный файл MSWord из excel и сохраните его на диске с помощью Java
  • Как определить, когда Excel был закрыт (межсетевой офис)
  • Изменить информацию в Word из Excel VBA
  • Редактировать файл электронной таблицы Excel в текстовом документе (C # Interop)
  • Из файла Excel VBA откройте шаблон слова, введите число и распечатайте
  • Редактирование документов в веб-приложении PHP / JQuery
  • Автоматически перемещать закладку MS Word после вставки в этот момент
  • Извлечение встроенных данных рабочего листа Excel из Word
  • Ошибка выполнения 5631
  • Как скопировать, изменить OLE Word (например, excel embedded) из Excel VBA?
  • Давайте будем гением компьютера.