Я скопирую графики из Excel (2010) в виде изображений в Word. Копирование-вставка работает, но окончательный график в Word отличается от оригинала, а то, что я копирую-вставляю вручную (Вставить специальный - Картинка).Макрос для копирования диаграммы Внешний вид изменений в Excel-Word
Я попытался изменить DataType в Вставить и Формат в копии, но результат всегда один и тот же. Любой другой вариант?
Sub ChartsToWord()
Dim WDApp As Word.Application
Dim WDDoc As Word.Document
Dim iCht As Integer
Dim Msg As String
Set WDApp = CreateObject("Word.Application")
Set WDDoc = WDApp.Documents.Add
For iCht = 1 To ActiveSheet.ChartObjects.Count
' copy chart as a picture
ActiveSheet.ChartObjects(iCht).Chart.CopyPicture _
Appearance:=xlScreen, Size:=xlScreen, Format:=xlBitmap
WDApp.Selection.Range.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, _
Placement:=wdInLine, DisplayAsIcon:=False
WDApp.Selection.MoveEnd wdStory
WDApp.Selection.Move
Next
WDDoc.SaveAs ("C:\Temp\charts.docx")
WDDoc.Close ' close the document
' Clean up
Set WDDoc = Nothing
Set WDApp = Nothing
End Sub
Это хорошо работает, но как я мог изменить его размер поместиться на странице? – user2082695
Если вам нужно развернуть изображение диаграммы, чтобы оно соответствовало странице Word, вы потеряете ясность по мере увеличения изображения. Но, если вы найдете ширину страницы Word, затем измените размер chartobject соответственно ** до того, как ** вы его скопируете, тогда вы ** должны ** получить правильное размерное изображение в слове с наивысшим качеством. – ThunderFrame
Это наоборот, изображение слишком велико в Excel. Если я уменьшу его в Excel, он изменит его ось, которую я хочу избежать. Измените размер изображения, сохраняя соотношение widht * height - лучший вариант, но я не могу найти, как это сделать. – user2082695