Я пытаюсь написать макрос для автоматической печати всех диаграмм, которые я создал в книге, с использованием другого макроса. (буквально сотни) Проблема, с которой я столкнулся, заключается в том, что я не могу понять, как изменить график с портретного макета на альбомный с помощью VBA. Мне было интересно, может ли кто-нибудь мне помочь. Я попробовал приведенный ниже код, но он выдает ошибку в строке ".ChartObjects (x) .PageSetup.Orientation = xlLandscape" Я понимаю, что для объекта диаграммы это неправильное свойство, но я не могу понять, что иначе это.
Любая помощь приветствуется!
Option Explicit
Sub Print_All_Charts()
Dim szASheet As String
szASheet = ActiveSheet.Name
Dim lChartObjCount As Long
lChartObjCount = ActiveSheet.ChartObjects.Count
With Application
.ScreenUpdating = False
.ActivePrinter = "HP Color LaserJet 5550 PS on Ne08:"
'On Error Resume Next
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
Dim x As Long
For x = 1 To lChartObjCount
With wks
.ChartObjects(x).PageSetup.Orientation = xlLandscape
.ChartObjects(x).Select
.ChartObjects(x).Activate
.PrintOut , , 1
End With
Next x
Next wks
ActiveChart.Deselect
With Sheets(szASheet)
.Select
.Range("A1").Select
End With
.ScreenUpdating = True
End With
End Sub