У меня есть Macro-совместимая книга Excel 2010 («Pilote.xlsm»), которая пытается читать в несколько книг Excel («Ex01.xlsx», «Ex02.xlsx», ...) и копировать диаграммы (« Target ") в Word Document, сохраняя ту же ориентацию (« портрет »).
Кажется, что это невозможно сделать так, как я пытался. Пример кода:
Function BasicWrite()
Dim MonWB As Workbook
Set wrdApp = CreateObject("Word.Application")
Set ExcelApp = New Excel.Application
Set wrdDoc = wrdApp.Documents.Add()
Set monWB = ExcelApp.Workbooks.Open("C:\foo\Ex01.xlsx")
wrdApp.Visible = True
wrdApp.Selection.TypeText Text:="VBA"
wrdApp.Selection.TypeParagraph
monWB.Activate
monWB.Charts("Target").CopyPicture
wrdApp.Selection.Paste
monWB.Close
End Function
Это приводит к правильным диаграммам, скопированным в документе Word, хотя в «ландшафте» (ширина> высота), тогда как исходная диаграмма - «портрет» (высота> ширина). Это изменение вызывает некоторые важные ярлыки, которые находятся на диаграмме.
Эта проблема ориентации не возникает, когда я копирую диаграмму непосредственно из книги Macro («Pilote.xlsm») в документ Word. Кажется, что это артефакт от копирования из внешней («Ex01.xlsx») книги. Мне не удалось найти какую-либо информацию по этой теме в документации.
Любая помощь будет оценена по достоинству.