使用VS2008和Office2007将Excel转换为PDF

时间:2009-03-11 15:13:03

标签: excel pdf interop

我正在尝试使用Interop.Excell将Excel工作簿另存为PDF文件。我正在使用VS2008和Office2007,并已从Microsoft下载并安装了SaveAsPDFandXPS.exe。这使我能够使用以下代码将Word文档另存为pdf:          object frmt = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;          wrd.ActiveDocument.SaveAs(ref dest,ref frmt,ref unknown,ref unknown,... 整个Interop的事情非常酷。

无论如何,我在使用Interop.Excell找到Word.WdSaveFormat.wdFormatPDF的并行方面一直没有意义。 Workbook.SaveAs采用Interop.Excel.XlFileFormat,但没有pdf格式的选项。有没有人这样做过或者有过这方面的经验?

2 个答案:

答案 0 :(得分:7)

这个问题已在这里得到解答:

What is the FileType number for PDF in Excel 2007 that is needed to save a file as PDF through the API?

您需要调用Workbook.ExportAsFixedFormat方法:

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF 
    FileName:=“sales.pdf” 
    Quality:=xlQualityStandard 
    DisplayFileAfterPublish:=True 

此方法应优先于使用SaveAs,因为它还允许指定所有PDF / XPS选项。

注意:此方法已使用Excel 2007添加到Excel对象模型中,并且需要安装Save as PDF or XPS Add-in for 2007 Microsoft Office程序(或SP2)。

答案 1 :(得分:0)

根据Microsoft的说法,使用Workbook.SaveAs保存为PDF的常量为57。

“此处未列出pdf格式。但它的编号为57.” 从: http://msdn.microsoft.com/en-us/library/bb241279%28office.12%29.aspx