Изменение ориентации (книжная или альбомная) диаграммы Excel с помощью VBA

Я пытаюсь написать макрос для автоматической печати всех диаграмм, которые я создал в книге, с использованием другого макроса. (буквально сотни) Проблема, с которой я столкнулся, заключается в том, что я не могу понять, как изменить график с портретного макета на альбомный с помощью 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
5
задан Jean-François Corbett 16 February 2012 в 07:59
поделиться