我正在VBA中迈出第一步。 我一直在尝试很多东西,但是我还没有找到一种方法来将.pptm powerpoint演示文稿保存为.pptx格式,并在特定路径中使用相同的文件名? 我已经使用以下代码保存为pdf。
ActivePresentation.ExportAsFixedFormat "c:\" + Replace(ActivePresentation.Name, "pptm", "pdf"), ppFixedFormatTypePDF, ppFixedFormatIntentPrint, msoCTrue
提前谢谢。
答案 0 :(得分:4)
基本用法是:
With ActivePresentation
.SaveCopyAs _
FileName:=.Path & "\" & Left(.Name, InStrRev(.Name, ".")) & "pptx", _
FileFormat:=ppSaveAsOpenXMLPresentation
End With
(或者您可以使用.SaveAs.SaveAsCopy保持当前打开状态并且不打开副本,而.SaveAs将当前设置为保存的版本)
但是,如果您保存的Powerpoint尚未保存至少一次,则上述错误(在Presentation.Name中没有文件扩展名可以使用InStrRev查找)。您可以测试没有完全停止,或者您可以使用一种懒惰的方法来询问FileSystemObject以获取没有扩展名的名称(我很懒,所以我更喜欢这种方法):
所以更好的方法是:
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
With ActivePresentation
.SaveCopyAs _
FileName:=fso.BuildPath(.Path, fso.GetBaseName(.Name) & ".pptx"), _
FileFormat:=ppSaveAsOpenXMLPresentation
End With