【发布时间】:2019-01-07 16:40:53
【问题描述】:
我搜索了大量帖子,寻找在 Excel 中打开 PowerPoint 演示文稿的 VBA 代码。绝大多数人建议我使用以下代码(变量名称有所不同)。我发现了一些变体,但它们都不起作用:
Dim objPPT As Object
Set objPPT = CreateObject("Powerpoint.Application")
objPPT.Visible = True
objPPT.Presentations.Open "C:\Users\7233025\Desktop\Workmix Resolutions.xlsm"
当我尝试运行它时,应用程序会冻结大约一分钟,然后返回以下错误消息:
Microsoft Excel 正在等待另一个应用程序完成 OLE 操作
然后应用程序继续尝试运行宏,停止它的唯一方法是打开任务管理器并结束进程。当我尝试运行代码时打开 PowerPoint 并关闭它时,就是这种情况。
搜索有关 OLE 错误的帮助,大多数建议是将应用程序设置为“忽略使用动态数据交换 (DDE) 的其他应用程序”,但这并不能解决我的问题。
由于这似乎对我搜索过的论坛中的其他任何人都不是问题,这可能是我雇主的网络或计算机上的某些东西阻止了文件打开,还是我在某个地方犯了错误?
【问题讨论】:
-
插入 DoEvents 有帮助吗?
-
我不会这么认为,因为代码中没有循环。我刚刚在 objPPT.Presentations.Open 行之前和之后使用 DoEvents 指令进行了尝试。这些都不起作用。