将工作表模板导出为PDF会生成运行时错误5:无效的过程调用或参数

时间:2012-12-27 11:23:16

标签: excel vba excel-2007

我创建了一个宏来将表格模板导出为PDF:

ActiveWorkbook.Sheets("Sheet2").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  ActiveWorkbook.Path & "\Survey Report.pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
  :=False, OpenAfterPublish:=True

我尝试了其他方法,但错误没有区别。

链接已经尝试过:

  1. http://www.mrexcel.com/forum/excel-questions/608810-printing-multiple-worksheets-pdf-2.html
  2. http://www.mrexcel.com/forum/microsoft-access/385749-exportasfixedformat-error.html
  3. http://answers.microsoft.com/en-us/office/forum/office_2010-customize/error-5-invalid-procedure-call-or-argument/574c2c8f-7f2c-4644-9373-bbc14c8d3fd7?msgId=4dbee3f3-ad28-4427-a50b-a3904b09ec1e

4 个答案:

答案 0 :(得分:4)

您的实际代码适合我。不过试试这个( TRIED AND TESTED

Sub Sample()
    ActiveWorkbook.Sheets("Sheet2").Activate

    ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=ActiveWorkbook.Path & "\Survey Report.pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=True
End Sub

注意

  1. 同时希望Sheet2有一些内容可以打印,否则空白页会给你错误。
  2. 如果要从运行代码的工作簿中打印工作表,则可能需要将ActiveWorkbook更改为ThisWorkbook,然后重试...

答案 1 :(得分:2)

您还必须安装Excel免费Microsoft Save as PDF or XPS add-in

答案 2 :(得分:1)

如果你安装了adobe打印机,那么只需使用下面的代码来获得pdf

sub Sample()
    ActiveWorkbook.Sheets("Sheet2").Activate
    ActiveSheet.Printout
End Sub

答案 3 :(得分:1)

我也遇到了此错误,并尝试手动解决该问题。

事实证明,当文件名(包括路径)超过218个字符时,您将无法另存为PDF。