В настоящее время я создаю файл Excel, в котором есть отчетный лист. Этот лист заполняется данными скриптом VBA. Также я создал кнопку для экспорта отчета в PDF.
Все работает нормально, пока этот файл не открывается на другой P C с другим разрешением экрана. Высота строк и фактический размер шрифта изменяются, что приводит к беспорядку на страницах PDF, некоторые из них имеют половину таблиц и т. Д.
Есть ли способ заставить Excel не изменять высоту строк или, возможно, другой способ исправить количество строк на странице?
Я использую Excel для Office 365.
Спасибо!
Обновление. Вот сценарий, который я использую для генерации PDF
Public Sub SaveResultsToPDF()
Dim wsA As Worksheet
Dim wbA As Workbook
Dim strTime As String
Dim strName As String
Dim strPath As String
Dim strFile As String
Dim strPathFile As String
Dim myFile As Variant
On Error GoTo errHandler
Set wbA = ActiveWorkbook
Set wsA = ActiveSheet
strTime = Format(Now(), "yyyymmdd")
'get active workbook folder, if saved
strPath = wbA.Path
If strPath = "" Then
strPath = Application.DefaultFilePath
End If
strPath = strPath & "\"
'replace spaces and periods in sheet name
strName = Replace(wsA.Name, " ", "")
strName = Replace(strName, ".", "_")
'create default name for savng file
strFile = strName & "_" & strTime & ".pdf"
strPathFile = strPath & strFile
'user can enter name and select folder for file
myFile = Application.GetSaveAsFilename _
(InitialFileName:=strPathFile, _
FileFilter:="PDF Files (*.pdf), *.pdf", _
Title:="Select Folder and FileName to save")
Dim bottom As Integer: bottom = FindEndOfPrintArea + 30
With wsA.PageSetup
.printArea = "A1:R" & bottom
.Orientation = xlPortrait
.LeftMargin = 42
.RightMargin = 42
.TopMargin = 42
.BottomMargin = 42
End With
'export to PDF if a folder was selected
If myFile <> "False" Then
wsA.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=myFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End If
exitHandler:
Exit Sub
errHandler:
MsgBox "Could not create PDF file"
Resume exitHandler
End Sub