Excel VBA Печать в PDF Несколько листов на странице - PullRequest
0 голосов
/ 15 января 2019

У меня есть вопрос, касающийся Excel и VBA. Я хочу экспортировать несколько листов в формате PDF. Мой код работает нормально. Теперь я хочу объединить несколько листов на одной странице. Из-за высоты и ширины имеет смысл объединить два листа на одной странице. Если я хочу напечатать его на своем принтере, он прекрасно работает с настройкой макета страницы принтера. Есть ли код компоновки страницы для VBA, чтобы поместить два листа на одну страницу вместе? Заранее спасибо.

End Sub

С уважением,

 Sub SavePDF()
 Dim mySheets As Variant, sh


 mySheets = Array("Sheet 1", "Sheet 2", "Sheet 3", "Sheet 4")
 For Each sh In mySheets
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
    .PrintArea = "$A$1:$V$70"
    .Orientation = xlPortrait
    .CenterHorizontally = True
    .FitToPagesWide = 1

    End With
    Application.PrintCommunication = True

Next

Sheets(mySheets).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:="C:\Users\tstaecker\test.pdf", _
     IgnorePrintAreas:=True, OpenAfterPublish:=False
End Sub

1 Ответ

0 голосов
/ 15 января 2019

Даже если вы экспортируете несколько листов в один файл PDF, каждый лист будет начинаться с новой страницы в экспортированном PDF.

В противном случае вам необходимо сначала скопировать все на один лист и экспортировать только этот сводный лист. Excel не может экспортировать 2 разных листа на одну страницу.

Обратите внимание, что копирование всего в один сводный лист имеет смысл, только если ширина столбцов на ваших листах одинакова. В противном случае вы легко запутаетесь.

...