В процессе преобразования нашей интрасети из коробки Windows 2000 / IIS 4 в коробку Windows 2008 / IIS 7. Просто делаю прямую конвертацию сейчас, чтобы в будущем перестроить некоторые приложения на C # .NET.
На новом сервере установлен 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)
Я провел несколько поисков, но, похоже, не многие люди используют Word 2010 в классическом ASP по какой-то странной причине ...:)