0

我有 IIS7(Windows Server 2008) 64 位,但我的应用程序在 32 位模式下运行。女士 Office 2003 安装在服务器上。我在组件服务中找不到 {000209FF-0000-0000-C000-000000000046} 但我可以看到 {00020906-0000-0000-C000-000000000046} 并且我也为其分配了所有权限。

如果我应用模拟,那么我会在任务管理器中看到 winword.exe*32 并且页面在很长一段时间内进行,就像坚持一样,没有响应/错误。我注意到页面会粘住/一直在进行

'' 通过并且模拟没有错误

Dim WordApp As Microsoft.Office.Interop.Word.Application = New Microsoft.Office.Interop.Word.Application

'' 通过并且模拟没有错误

Dim objDoc As Microsoft.Office.Interop.Word.Document = New Microsoft.Office.Interop.Word.Document

'' 通过模拟,这行代码将页面粘贴到漫长的过程 - Documents.Open

objDoc = WordApp.Documents.Open(path)

我错过了什么?相同的代码适用于 Windows Server 2003 64 位。

4

1 回答 1

3

Office 互操作不是为服务器端使用而设计的。Microsoft 有一篇关于 Office 的服务器端自动化主题的知识库文章,您可能想阅读它。

在不知道您尝试使用互操作的情况下,我只能建议您改用Office OpenXML来实现服务器自动化。如果您只是在进行文档操作,它应该允许您这样做。对于其他任何事情,我建议您查看我链接的知识库文章中的替代建议。


如果你真的必须有一个黑客解决你的问题

如果您创建文件夹C:\Windows\SysWOW64\config\systemprofile\DesktopC:\Windows\System32\config\systemprofile\Desktop它可能会解决您的问题,但如果可以的话,我强烈建议您改用 OpenXML。

于 2012-03-23T15:44:27.113 回答