2016-02-16 2 views
2

У меня возникла проблема с экспортом одного листа Excel в книгу в файл PDF.Экспортировать лист Excel как PDF Ошибка времени выполнения '5': Неверный вызов или аргумент процедуры

Sub ExportPDF() 
    Dim Nazwa As String 
    ' Creating a destination folder for PDF file 
    If Len(Dir("c:\Faktury", vbDirectory)) = 0 Then 
     MkDir "c:\Faktury" 
    End If 
    'InputBox that allows user to type filename 
    Nazwa = InputBox("Wpisz nazwę pliku", "Nazwa pliku", Sheets("Fa VAT").Range("G3")) 
    If Nazwa = "" Then Exit Sub 
    ChDir "c:\Faktury" 
    'Exporting sheet "Fa VAT" to PDF 
    Sheets("Fa VAT").ExportAsFixedFormat _ 
    Type:=xlTypePDF, _ 
    Filename:=Nazwa, _ 
    Quality:=xlQualityStandard, _ 
    IncludeDocProperties:=True, _ 
    IgnorePrintAreas:=False, _ 
    OpenAfterPublish:=True 
End Sub 

Я получаю сообщение об ошибке «Ошибка выполнения» 5: неверный вызов или аргумент процедуры ». После этого Excel выделяет последнюю часть кода, поскольку он должен быть неправильным. Я имею в виду именно эту часть:

Sheets("Fa VAT").ExportAsFixedFormat _ 
    Type:=xlTypePDF, _ 
    Filename:=Nazwa, _ 
    Quality:=xlQualityStandard, _ 
    IncludeDocProperties:=True, _ 
    IgnorePrintAreas:=False, _ 
    OpenAfterPublish:=True 

Я установил настройку Microsoft SaveAsPDF и ничего не изменил. Я изменил имя файла на некоторую случайную строку, а не ссылался на InputBox. Я попытался активировать правый лист, а затем экспортировать ActiveSheet. Я попытался скрыть лист и показал. Я попытался запустить файл на двух других компьютерах.

Когда я копирую этот макрос в какую-то совершенно новую, чистую таблицу Excel, она работает.

Я работаю в Excel 2007, Windows 10. Я попробовал также на Excel 2010 и под управлением Windows 7.

Вот некоторые ссылки, которые я пробовал:

Runtime Error : 5, Invalid Procedure call or argument

http://www.mrexcel.com/forum/excel-questions/595252-visual-basic-applications-trouble-save-pdf-code.html

ответ

0

Убедитесь, что рабочий лист не скрыт. Excel выдаст ошибку для .ExportasFixedFormat, если рабочий лист скрыт или очень скрыт. Если у вас скрыта, вы можете отобразить его первым в своем коде:.

Sheets («Fa НДС») Visible = xlSheetVisible

В конце концов, вы можете скрыть его снова.

Листы («Fa VAT»). Видимый = xlSheetHidden

Смежные вопросы