Excel распечатать в pdf добавить пробелы / поля справа? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть следующий код VBA:

Sub generatepdf()

With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesTall = False
.FitToPagesWide = 1
.LeftMargin = Application.CentimetersToPoints(0)
.RightMargin = Application.CentimetersToPoints(0)

End With

Range("b3:j43").ExportAsFixedFormat xlTypePDF, Filename:=Range("c11").value & "-" & Range("c16").value, openafterpublish:=True

End Sub

Всякий раз, когда я запускаю код и делаю pdf, справа есть белые поля. Обычное событие: распечатайте или сохраните в формате pdf, генерируя эти пробелы.

Пробные настройки в макете страницы и все остальное не могут решить проблему.

1 Ответ

0 голосов
/ 07 ноября 2019

Один из вариантов заключается в равномерном балансе белых полей с обеих сторон данных с использованием .CenterHorizontally, например:

Sub generatepdf()

    With ActiveSheet.PageSetup
        .Zoom = False
        .FitToPagesTall = False
        .FitToPagesWide = 1
        .LeftMargin = Application.CentimetersToPoints(0)
        .RightMargin = Application.CentimetersToPoints(0)
        .CenterHorizontally = True
        .CenterVertically = True
    End With

    Range("b3:j43").ExportAsFixedFormat xlTypePDF, Filename:=Range("c11").Value & "-" & Range("c16").Value, openafterpublish:=True

End Sub

Другой вариант, если данные не меняют ширину, использовать. Увеличьте и настройте ширину вручную. Как я не вижу VBA, обеспечивающей доступ к любому более тонкому контролю, чем этот. Приветствия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...