【发布时间】:2013-07-09 20:28:57
【问题描述】:
从 VBA (Access) 执行以下行时遇到以下错误:
Set wd = CreateObject("Word.Application")
我找到了以下链接,但没有发现它有用:http://support.microsoft.com/kb/828550
我尝试过的事情
- 从“控制面板”>“程序和功能”修复 Office 安装
- 卸载 MS Word,重新安装
- 试过
Dim wd As Object而不是Dim wd as Word.Application - 手动运行 Word。
- 在管理员命令提示符下运行
winword.exe /RegServer。没有静默运行,只是打开 Word。 - 检查 CLSID {000209FF-0000-0000-C000-000000000046} 下的 LocalServer32 键。最初是失踪的。重新安装 Word 后,CLDID 存在,但 LocalServer32 密钥丢失。
- 运行
winword.exe /automation。仅启动 Word。 - 以管理员身份运行
winword.exe。 - 以管理员身份运行
access.exe。
相关(可能)
- Windows 8 x64
- Office 2007
- C:\Program Files (x86)\Microsoft Office\Office12
- 预装了 Office 2010 的预览版。
- 使用自动化和 VBA 启动 Excel。
- asycfilt.dll 文件版本:6.2.9200.16384,日期:7/25/2012 11:05pm
- oleaut32.dll 文件版本:6.2.9200.16384,日期:7/25/2012 11:06pm
- olepro32.dll 丢失
- stdole2.tlb 无文件版本,日期:7/25/2012 10:34pm
- McAffee 防病毒软件
【问题讨论】:
-
对不起,现在我在你的问题中看到了:)
-
你也不能使用“Set wd = New Word.Application”吗?
-
如果先打开 Word 然后运行 `Set wd = GetObject(, "Word.Application") 会发生什么?
-
您拥有的代码都很好。不幸的是,我认为这可能是一个系统问题,您已经采取了所有合理的步骤来修复它(没有重新格式化!)。我敢肯定,如果您在另一台计算机上测试代码,它会正常工作。
-
我遇到了和@Chloe 完全相同的问题。我在 64 位 Windows 7 上运行 Office 2007。我通过包含“on error resume next”强制我的代码运行,这似乎使我的代码工作。