#excel #vba #pdf
#excel #vba #PDF
Вопрос:
У меня есть пользовательская форма VBA, в которой пользователь выполняет поиск в таблице базы данных для определенных терминов. Он генерирует результат на отдельном листе, и когда пользователь нажимает кнопку печати, создается PDF-файл, который включает все данные в таблице результатов поиска.
Это выдает ошибку компиляции
«Приложение: определенная или объектно-определенная ошибка»
Sub CreatePDF()
Sheet4.Select
Range("A1:N25").Select
ThisWorkbook.Sheets("SearchData").Select
Selection.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="D:AliBinAliSecurity Visitor Apptemp.pdf", _
Quality:=xlQualityStandard, _
Orientation:=xlLandscape, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Sheet4.Select
Range("A1").Select
End Sub
Выделенная строка:
Selection.ExportAsFixedFormat _ Type:=xlTypePDF, _
Filename:="D:AliBinAliSecurity Visitor Apptemp.pdf", _
Quality:=xlQualityStandard, _
Orientation:=xlLandscape, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Комментарии:
1. какая строка выделяется?
2.
Selection.ExportAsFixedFormat _ Type:=xlTypePDF, _ Filename:="D:AliBinAliSecurity Visitor Apptemp.pdf", _ Quality:=xlQualityStandard, _ Orientation:=xlLandscape, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=True
Ответ №1:
Ориентация
В Orientation
аргументе отсутствует Worksheet.ExportAsFixedFormat method
.
Вы могли бы попробовать это:
Option Explicit
Sub CreatePDF()
With ThisWorkbook.Worksheets("SearchData")
.PageSetup.Orientation = xlLandscape
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="D:AliBinAliSecurity Visitor Apptemp.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End With
With Sheet4
.Activate
.Range("A1").Select
End With
End Sub
или если вы хотите распечатать диапазон:
Sub CreatePDF2()
With Sheet4.Range("A1:N25")
.Worksheet.PageSetup.Orientation = xlLandscape
.Orientation = xlHorizontal
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="D:AliBinAliSecurity Visitor Apptemp.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
.Worksheet.Activate
.Cells(1).Select
End With
End Sub
Комментарии:
1. Спасибо, первый работал отлично, без сбоев.
2. @kamranmirza, пожалуйста, отметьте как ответ, чтобы поток отображался как ответ.