Excelmacros将pptx保存为pdf; 代码错误

晚上好,stackoverflow社区,

我知道这个问题可能被问了1000次,但我一直在努力过去3个小时,通过Excel VBA(这是我的报告生成器所需要的,为了保持布局清洁广告整洁,我决定使用PowerPoint,因为字不断地搞乱了)。

这里是代码即时通讯使用:

Dim ppt As Object On Error Resume Next Set ppt = GetObject(, "PowerPoint.Application") If ppt Is Nothing Then Set ppt = CreateObject("PowerPoint.Application") End If On Error GoTo 0 Set WDReport = ppt.Presentations.Open("C:\Users\User1\Documents\Folder\Final Report Template.pptx") WDReport.UpdateLinks Dim FileName2 As String FileName2 = "C:\Users\User1\Documents\Folder\Complete Report\" & Sheet14.Range("Q3").Text & " No " & Sheet14.Range("U21") & " Report" & Sheet17.Range("E10").Text & ".pdf" WDReport.ExportAsFixedFormat FileName2, ppFixedFormatTypePDF, ppFixedFormatIntentScreen WDReport.Close ppt.Quit Set ppt = Nothing Set WDReport = Nothing 

但我不断WDReport.ExportAsFixedFormat FileName2, ppFixedFormatTypePDF, ppFixedFormatIntentScreen行上的错误消息“13types不匹配”。 我试图用ActivePresentationreplaceWDReport,但收到并错误“429 ActiveX组件无法创build对象”。

所有我包括所有必要的库(Microsoft PowerPoint对象库15.0,与MS Word相同),但迄今没有效果。

UPD:

只是澄清FileName2string,范围用于获取以下variables数据:

 Range("Q3") is Name (eg Test Company) Range("U21") is Number (eg 1234567891011) Range("E10") is Date (eg Feb-15) 

所以最后的文件名就像是“Test Company No 1234567891011 Report Feb-15.pdf” 。 再一次,当我将.docx转换为pdf时,它工作的很好

如果有人能帮我解决这个问题,我真的很感激。 提前致谢!

我能够重现你的错误。 以下解决scheme为我工作。 确保您已启用对Microsoft Powerpoint对象库的引用。

 WDReport.SaveAs FileName2, ppSaveAsPDF