Excel 当我尝试通过宏修改 PowerPoint 演示文稿时硬崩溃
Excel hard crashes when I try to modify a PowerPoint presentation through macro
大家好,
我正在尝试在我的工作中自动化报告系统。为此,我正在设置一个 Macro,按下 Excel 中的一个按钮,将:
- 从给定路径中的给定模板 (.potx) 打开新演示文稿
- 添加各种图表和表格
- 将新创建的演示文稿保存在另一个给定路径中
因为这对我来说很新,所以我正在一步一步地前进,但我被困在了起点。到目前为止,这是我的代码:
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 实现之前,我实际上无法解决这个问题。
大家好, 我正在尝试在我的工作中自动化报告系统。为此,我正在设置一个 Macro,按下 Excel 中的一个按钮,将:
- 从给定路径中的给定模板 (.potx) 打开新演示文稿
- 添加各种图表和表格
- 将新创建的演示文稿保存在另一个给定路径中
因为这对我来说很新,所以我正在一步一步地前进,但我被困在了起点。到目前为止,这是我的代码:
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 实现之前,我实际上无法解决这个问题。