【问题标题】:Error when opening PowerPoint from Excel VBA从 Excel VBA 打开 PowerPoint 时出错
【发布时间】: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 指令进行了尝试。这些都不起作用。

标签: excel vba ole dde


【解决方案1】:

objPPT.Presentations.Open "C:\Users\7233025\Desktop\Workmix Resolutions.xlsm"

您应该尝试打开的文件应该是 ppt 文件而不是 excel 文件。示例

objPPT.Presentations.Open "C:\example.pptx"

【讨论】:

  • 让我失望的总是一个愚蠢的拼写错误!感谢您指出,但现在我收到“系统调用失败”错误消息!我会尝试一下,看看我是否可以解决这个新问题,但如果您有任何更多建议,我们将不胜感激
猜你喜欢
  • 2014-08-06
  • 1970-01-01
  • 2015-12-23
  • 1970-01-01
  • 1970-01-01
  • 2017-07-26
  • 2017-06-15
  • 2018-02-23
  • 1970-01-01
相关资源
最近更新 更多