在IIS7上的经典ASP中创建Word对象时出错

问题描述:

在将我们的Intranet从Windows 2000/IIS 4框转换为Windows 2008/IIS 7框中。现在就做一个直接转换,并着眼于未来在C#.NET中重新开发一些应用程序。在IIS7上的经典ASP中创建Word对象时出错

新服务器安装,旧的Word 2010有Word 2003中

运行与传统的ASP应用程序的问题。尝试基于模板文档创建和修改Word文档。

接收以下错误:

Microsoft VBScript runtime error '800a01a8' 

Object required: 'Documents.Open(...)' 

它尝试运行的代码如下:

Dim wrdObj 
Set wrdObj = Server.CreateObject("Word.application") 
Dim wrdDoc 
Set wrdDoc = Server.CreateObject("Word.Document") 
Set wrdDoc = wrdObj.Documents.Open(docRoot & docName) 
' Do word assignments 
With wrdDoc 
    .Variables("Today").Value = rs.Fields.Item("TODAY").Value & " " 
    .Variables("Requester").Value = Request.QueryString("strUser") & " " 
    .Variables("Ship_Comp").Value = rs.Fields.Item("TXT_VENDOR_NAME").Value & " " 
    .Variables("Ship_Addr").Value = rs.Fields.Item("ADDR").Value & " " 
    .Variables("Ship_City").Value = rs.Fields.Item("CITY").Value & " " & rs.Fields.Item("STATE_ZIP").Value 
    .Variables("Ship_Country").Value = rs.Fields.Item("COUNTRY").Value & " " 
    .Fields.Update 
    .Save 
End With 
'wrdDoc.Section 
wrdDoc.Close 
Set wrdDoc = Nothing 
wrdObj.Quit 
Set wrdObj = Nothing 

它是在下面的行失败:

Set wrdDoc = wrdObj.Documents.Open(docRoot & docName) 

我我在那里做了一堆搜索,但在经典ASP f中似乎没有很多人使用Word 2010自动化或一些奇怪的原因... :)

我在64位版本的Windows Server 2008上遇到了类似的问题,并尝试一些Excel自动化。显然,64位版本有一些Office自动化问题。我不确定它们是否扩展到所有Office自动化,或者它只是Excel,但这里是我用来解决问题的链接。

http://social.msdn.microsoft.com/Forums/en-US/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91?prof=required

我创造了第二个帖子中提到的文件夹,它的工作就像一个魅力。

+0

我看完了,简直不敢相信。我试过了 - 它工作。谈论一些难以绊倒的东西!感谢您的帮助,超流量 - 这就像一个魅力。 – Jay

+0

有类似的问题,创建“桌面”文件夹确实解决了我的问题。就我而言,即使它是64位O/S(Win 7),我必须在c:\ windows \ system32下创建文件夹 - 讨厌的讨厌的讨厌....但它的作品。 – robnick