使用VS2008和Office2007将Excel转换为PDF

使用VS2008和Office2007将Excel转换为PDF,excel,pdf,interop,Excel,Pdf,Interop,我正在尝试使用Interop.Excel将Excel工作簿保存为PDF文件。我正在使用VS2008和Office2007,并已从Microsoft下载并安装了SaveAsPDFandXPS.exe。这使我能够使用以下代码将Word文档保存为pdf: 对象frmt=Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF; wrd.ActiveDocument.SaveAs(ref dest,ref frmt,ref unknown,ref un

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


无论如何,我在Interop.Excell中找到Word.WdSaveFormat.wdFormatPDF的类似文件失败。Workbook.SaveAs采用Interop.Excel.XlFileFormat,但没有pdf格式的选项。是否有人这样做或在这方面有经验?

此问题已在此处得到回答:

您需要调用以下方法:

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


注意:此方法已添加到Excel 2007的Excel对象模型中,需要安装for 2007 Microsoft Office程序(或SP2)。

根据Microsoft的说法,用于工作簿.SaveAs以另存为PDF的常数为57

“此处未列出pdf格式。但它的编号为57。” 发件人:

对于查看完整枚举的任何其他人,都是
XlFixedFormatType.xlTypePDF
XlFixedFormatQuality.xlQualityStandard
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF 
    FileName:=“sales.pdf” 
    Quality:=xlQualityStandard 
    DisplayFileAfterPublish:=True