У меня есть макрос для экспорта всех листов в отдельные PDF-файлы в указанной подпапке. Когда я выполняю его, он создает PDF-файлы в правильном месте и озаглавлен соответствующим образом, но затем появляются ошибки - Ошибка 5 Недопустимый вызов процедуры или аргумент - Есть идеи?

    Sub SaveWorkshetAsPDF()
Application.ScreenUpdating = False

Dim ws As Worksheet
Dim path As String
Dim fol As String
Dim name As String
Dim concat As String
Dim fdObj As Object


path = ActiveWorkbook.path
fol = "\PDFs\"
Set fdObj = CreateObject("Scripting.FileSystemObject")
If fdObj.FolderExists(path & fol) Then
MsgBox "Found it", vbInformation
Else
fdObj.createfolder (path & fol)
MsgBox "folder created", vbInformation
End If

For Each ws In Worksheets


    name = ws.name
    concat = path & fol & name

    With ws.PageSetup
        .Orientation = xlLandscape
        .FitToPagesWide = 1
        .FitToPagesTall = False
        .PaperSize = xlPaperA3
    End With
    ws.ExportAsFixedFormat xlTypePDF, fileName:=concat
Next ws

Application.ScreenUpdating = True

End Sub

1 ответ1

0

добавить расширение файла, а также ActiveWorkBook

For Each ws In Worksheets


name = ws.name
concat = path & fol & name & ".pdf"

With ws.PageSetup
    .Orientation = xlLandscape
    .FitToPagesWide = 1
    .FitToPagesTall = False
    .PaperSize = xlPaperA3
End With
ActiveWorkbook.ExportAsFixedFormat xlTypePDF, Filename:=concat
Next ws

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .