在Windows 7上打开PowerPoint演示文稿时VBA失败

时间:2013-11-29 09:30:24

标签: vba excel-vba windows-7 powerpoint-vba excel

我在Windows XP上的Excel 2007中编写了一个VBA宏,用于将excel电子表格中的数据复制到powerpoint演示文稿中。 当这个启用宏的电子表格在全新安装的Windows 7上运行时,它会失败。 所以我拿出了无法确定问题的代码,并且在尝试打开现有的powerpoint文件时似乎失败了。我尝试在Office 2010和Office 2007中运行此代码。

我正在尝试使用它的代码(只是下面显示的问题部分)

Sub test()
   Dim PowerPointApplication As PowerPoint.Application
   Dim PowerPointFile As PowerPoint.Presentation

   Set PowerPointApplication = CreateObject("PowerPoint.Application")
   Set PowerPointFile = PowerPointApplication.Presentations.Open("PATH_TO_FILE\test.pptx")
End Sub

上面的Presentations.Open行上的宏失败,出现以下错误

Run-time error '-2147467259 (80004005)':
Method 'Open' of object 'Presentations' failed

我已经在电子表格的VBEditor的参考设置中启用了PowerPoint 12.0对象库。所有其他引用都与我的Windows XP盒子上没有错误运行的文件完全匹配。

我已经在网上寻找答案而无法找到任何答案。我读了一些关于Windows 7和脱机文件的内容,所以尝试关闭它但它没有帮助。

我也以管理员用户身份登录,并尝试将我正在打开的pptx移动到其他目录,但没有成功。

我正在运行以下版本的Windows:

Windows 7 Professional
Service Pack 1
64 Bit

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

PATH_TO_FILE是变量(或常量)??

如果不是这样的话

PowerPointFile = PowerPointApplication.Presentations.Open(PATH_TO_FILE & "\test.pptx")

答案 1 :(得分:0)

这在Win7 SP1 64位操作系统上的2016办公室工作

应该对Office 2010有利。

也可以是约翰关于档案路径的建议。

Sub test()
Dim PowerPointFile As PowerPoint.Presentation
Dim PPTObj As Object
Set PPTObj = CreateObject("PowerPoint.application")

Set PowerPointFile = PPTObj.Presentations.Open("C:\test.pptx")

End Sub