Я пытаюсь скопировать группу фигур, которая содержит несколько диаграмм в качестве изображения высокого разрешения.Для достижения высокого разрешения я использую параметры Appearance: = xlPrinter и Format: = xlBitmap.
Ошибка времени выполнения '1004'
Ошибка приложения или объекта
Код, который я использую для этого, приведен ниже
ws.Shapes.Range(Array("Chart 1", "Chart 2")).Group.Name = "temp_group"
With ws.Shapes("temp_group")
.CopyPicture Appearance:=xlPrinter, Format:=xlBitmap
.Ungroup
End With
Если я просто удаляю Format: = xlBitmap или меняю его на Format: = xlPicture, он работает нормально.Справка MSDN показывает xlBitmap в качестве опции, и я попытался использовать только 2, но это выдает ту же ошибку.
Если я попробую то же самое на одном графике, он будет работать отлично.
ws.ChartObjects("Chart 1").Chart.CopyPicture Appearance:=xlPrinter, Format:=xlBitmap
Каков наилучший способ скопировать несколько диаграмм в качестве изображения высокого разрешения?Я не хочу сохранять их, потому что мне нужно скопировать / вставить несколько групп до 30 диаграмм для экспорта в OneNote.
Редактировать:
После некоторого дополнительного тестирования выясняется, что яможно использовать xlBitmap, если для параметра внешнего вида установлено значение xlScreen вместо xlPrinter.Тем не менее, разрешение все еще довольно ужасно.Это очень расстраивает, поскольку простое копирование / вставка этих же диаграмм вручную дает очень хорошие четкие картинки, но по какой-то причине VBA просто разрушает их.VBA требуется, хотя, в противном случае это будет очень трудоемкий процесс.