使用Python和Com检测或纠正意外终止

2024-04-18 23:16:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用win32com将大量PPT和PPTX文件转换为PDF。我使用相同的过程,但Word和Excel将DOC、DOCX、XLS和XLSX文件转换为PDF。你知道吗

除了转换Powerpoint时出现间歇性崩溃外,几乎所有内容都运行得很顺利。当事故发生时,会弹出一个窗口,上面写着“Power point已停止工作”

windows错误包含以下信息:

Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: POWERPNT.EXE
  Application Version:  14.0.7162.5000
  Application Timestamp:    561e73e5
  Fault Module Name:    ppcore.dll
  Fault Module Version: 14.0.7171.5000
  Fault Module Timestamp:   57621d53
  Exception Code:   c0000005
  Exception Offset: 0001026d
  OS Version:   6.1.7601.2.1.0.274.10
  Locale ID:    3081

Additional information about the problem:
  LCID: 1033
  skulcid:  1033

这很难提供信息,我使用的代码是:

officeapp = client.DispatchEx("PowerPoint.Application")
doc = officeapp.Presentations.Open(source_file,ReadOnly=True,WithWindow=False)
doc.SaveAs(target_file, FileFormat=32)
doc.Close()
officeapp.Quit()

当崩溃发生时,它会有效地冻结批处理进程,我需要不断检查该进程是否仍在运行。这显然不理想。有什么办法吗

a)停止碰撞
b) 检测错误并关闭窗口弹出窗口


Tags: 文件name信息docpdfapplicationversion错误