使用VS2008和Office2007将Excel转换为PDF

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

无论如何,我一直在为Word.WdSaveFormat.wdFormatPDF在Interop.Excell中寻找一个平行线。 Workbook.SaveAs需要一个Interop.Excel.XlFileFormat,但没有PDF格式的选项。 有没有人做过这方面的工作?

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

什么是需要通过API将文件保存为PDF文件的Excel 2007中的PDF文件types编号?

您需要调用Workbook.ExportAsFixedFormat方法:

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

这个方法应该优于使用SaveAs因为它也允许指定所有的PDF / XPS选项。

注意:此方法已添加到使用Excel 2007的Excel对象模型中,并且需要安装用于2007 Microsoft Office程序(或SP2)的“ 另存为PDF或XPS加载项” 。

据微软称,与Workbook.SaveAs一起使用的常量保存为PDF为57。

“pdf格式没有在这里列出,但它有57号。 来自: http : //msdn.microsoft.com/en-us/library/bb241279%28office.12%29.aspx