我在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
任何帮助将不胜感激!
答案 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