希望有人可以帮助我一些VBA代码。我使用 VBA 循环将 Excel 图表、文本框和表格粘贴到 Powerpoint 模板中。但是,因为我不能确定用户是否会安装 Powerpoint 对象库,所以我不能将 Dim PPTApp 用作 Powerpoint.Application 类型语法。
我使用对象。它工作得很好。除了一件:关闭Powerpoint。
代码:
Dim oPPTPres As Object ' Late binding: This is a PowerPoint.Presentation but we cannot assume that the Microsoft PowerPoint 11 library will be loaded in the workbook that this module has been copied to.
Dim oPPTShape As Object ' Late binding: This is a PowerPoint.Shapebut we cannot assume that the Microsoft PowerPoint 11 library will be loaded in the workbook that this module has been copied to.
PPTFile = Range("PPTFile").value ' Read PowerPoint template file name
Set oPPTPres = GetObject(PPTFile): oPPTPres.Application.Visible = msoTrue ' Switch to or open template file
. . . .
strNewPresPath = Range("OutputFileName").value
oPPTPres.SaveAs strNewPresPath
' Range("PPTFile").value = strNewPresPath
ScreenUpdating = True
oPPTPres.Close 'Closes presentation but not Powerpoint
oPPTPres.Application.Quit 'No noticeable effect
活动演示文稿将关闭,但 Powerpoint 本身保持打开状态(没有打开文件窗口)。然后,因为它是打开的,所以当下一个运行时(我有一个循环将循环并连续执行许多这些构建),它会打开模板以及最新构建的 Powerpoint 文件,创建系统锁定问题。
有任何想法吗?
非常感谢您的帮助!