使用 WIN32API 打开 Powerpoint 演示文稿,另存为 PDF 并关闭应用程序
Opening a Powerpoint presentation, Saving as PDF and closing the application using WIN32APIs
我写了一个小脚本来打开 powerpoint 文件,将其另存为 PDF 并关闭 powerpoint。看起来命令 ppSaveAsPDF 没有被识别。
它说 NameError: name 'ppSaveAsPDF' is not defined
有人能告诉我为什么我无法将文件另存为 pdf 并关闭应用程序吗?
此外,当我删除 ppSaveAsPDF 命令时,它保存了一个 PDF 文件,但它已损坏,我无法打开它。
我在下面包含了我的代码:
import win32com.client, sys
FILENAME = "C:\Users\Swaroop\Desktop\Scripts\Test.pptx"
APPLICATION = win32com.client.Dispatch("PowerPoint.Application")
PRESENTATION = APPLICATION.Presentations.Open(FILENAME, ReadOnly= False)
PRESENTATION.SaveAs("C:\Users\Swaroop\Desktop\Output.pdf", ppSaveAsPDF)
APPLICATION.Quit()
我想出了一个解决方法,我没有使用 ppSaveAsPDF,而是使用它的常量值“32”,并将 PRESENTATION 和 APPLICATION 都设置为 NONE 实际上关闭了 powerpoint。这是更新后的代码。
import win32com.client, sys
FILENAME = "C:\Users\Swaroop\Desktop\Scripts\Test.pptx"
APPLICATION = win32com.client.Dispatch("PowerPoint.Application")
PRESENTATION = APPLICATION.Presentations.Open(FILENAME, ReadOnly= False)
PRESENTATION.SaveAs("C:\Users\Swaroop\Desktop\Output.pdf", 32)
APPLICATION.Quit()
PRESENTATION = None
APPLICATION = None
我写了一个小脚本来打开 powerpoint 文件,将其另存为 PDF 并关闭 powerpoint。看起来命令 ppSaveAsPDF 没有被识别。
它说 NameError: name 'ppSaveAsPDF' is not defined
有人能告诉我为什么我无法将文件另存为 pdf 并关闭应用程序吗?
此外,当我删除 ppSaveAsPDF 命令时,它保存了一个 PDF 文件,但它已损坏,我无法打开它。
我在下面包含了我的代码:
import win32com.client, sys
FILENAME = "C:\Users\Swaroop\Desktop\Scripts\Test.pptx"
APPLICATION = win32com.client.Dispatch("PowerPoint.Application")
PRESENTATION = APPLICATION.Presentations.Open(FILENAME, ReadOnly= False)
PRESENTATION.SaveAs("C:\Users\Swaroop\Desktop\Output.pdf", ppSaveAsPDF)
APPLICATION.Quit()
我想出了一个解决方法,我没有使用 ppSaveAsPDF,而是使用它的常量值“32”,并将 PRESENTATION 和 APPLICATION 都设置为 NONE 实际上关闭了 powerpoint。这是更新后的代码。
import win32com.client, sys
FILENAME = "C:\Users\Swaroop\Desktop\Scripts\Test.pptx"
APPLICATION = win32com.client.Dispatch("PowerPoint.Application")
PRESENTATION = APPLICATION.Presentations.Open(FILENAME, ReadOnly= False)
PRESENTATION.SaveAs("C:\Users\Swaroop\Desktop\Output.pdf", 32)
APPLICATION.Quit()
PRESENTATION = None
APPLICATION = None