VB Script Documents.Open抛出424错误

时间:2010-01-20 22:32:19

标签: php vbscript ms-word apache2 documents

所以我有一个vbs脚本:

Function test2open( sSourceFile, sPDFFile )
  Dim wApp ' As Word.Application
  Dim wDoc ' As Word.Document

  logStream.writeline "inside test2open"
  on error resume next

  Set wApp = CreateObject("Word.Application")
  logStream.writeline Err.Number
  Err.Clear

  Set wDoc = wApp.Documents.Open("c:\Windows\Temp\test.DOC")
  logStream.writeline Err.Number
  logStream.writeline Err.Description
  logStream.writeline Err.Source

  wApp.Quit WdDoNotSaveChanges
  Set wApp = Nothing
End Function

我用cscript.exe通过apache调用这个vi php exec调用。我不打算粘贴整个主要脚本的要点是将单词doc转换为pdf。但是我的完整脚本和上面的脚本都有同样的问题。

当我坐在Windows框中自己调用vbs脚本时,它可以像我想的那样工作,但是当通过php通过apache远程调用时,带有424错误对象的Documents.Open调用上的错误需要Microsoft VBScript运行时错误。

这个相同的代码在其他2个窗口框上正确运行,这让我觉得这是某种权限问题(喜欢那些描述MS错误消息)。但我无法弄清楚是什么。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我相信我找到了问题的答案。问题是MS正在限制办公产品自动化的使用。 Server 2008 64位和Office 2007运行不正常。对我有用的解决方案见于:

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

如果线程消失:

This solution is ...

・Windows 2008 Server x64

  Please make this folder.

  C:\Windows\SysWOW64\config\systemprofile\Desktop

・Windows 2008 Server x86

  Please make this folder.

  C:\Windows\System32\config\systemprofile\Desktop