Excel 当我尝试通过宏修改 PowerPoint 演示文稿时硬崩溃

Excel hard crashes when I try to modify a PowerPoint presentation through macro

大家好, 我正在尝试在我的工作中自动化报告系统。为此,我正在设置一个 Macro,按下 Excel 中的一个按钮,将:

  1. 从给定路径中的给定模板 (.potx) 打开新演示文稿
  2. 添加各种图表和表格
  3. 将新创建的演示文稿保存在另一个给定路径中

因为这对我来说很新,所以我正在一步一步地前进,但我被困在了起点。到目前为止,这是我的代码:


    Dim PP As PowerPoint.Application
    Dim report As PowerPoint.Presentation
    Dim report_activeslide As PowerPoint.Slide
    'Dim Slide_1_text As Shape
    Dim path_template As String
    Dim path_report As String
    
    path_template = "path_template.potx"
    path_report = "path_report"
    
    Set PP = New PowerPoint.Application
    Set report = PP.Presentations.Open(path_template, False, True, True)
    
    PP.Visible = msoTrue
    
    'Set report_activeslide = report.Slides(1)
    
    report.SaveAs path_report, ppSaveAsOpenXMLPresentation, msoTrue
    
End Sub

到目前为止,我可以从模板中打开演示文稿并正确保存它。然而,当我真正开始对演示文稿本身做任何事情时,例如将评论从 'Set report_activeslide = report.Slides(1) 行,Excel 严重崩溃。

有谁知道问题出在哪里? 我是 运行 Mac 上的 Office 365,如果这可能有任何不同的话。

正如 Ike 在评论中指出的那样,代码适用于 Windows(我有机会亲自测试)。这指出我的问题可能是由于 Mac 而不是代码造成的,事实证明这是正确的。确实有不少人报告了同样的问题(参见示例:Excel VBA crashing when referencing a PowerPoint slide index number

所以现在,在 Microsoft 提供更好的 OLE 实现之前,我实际上无法解决这个问题。