2

所以我有一个 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 调用。我不会粘贴整个内容的主要脚本的重点是将 word doc 转换为 pdf。但是我的完整脚本和上面的脚本都有同样的问题。

当我坐在 windows 框上时自己调用 vbs 脚本时,它的工作原理与我想的一样,但是当通过 php 通过 apache 远程调用时,它在 Documents.Open 调用上出错,带有 424 错误对象需要 Microsoft VBScript 运行时错误。

相同的确切代码在其他 2 个 Windows 框中正确运行,这让我认为这是某种权限问题(喜欢那些描述 MS 错误消息)。但我不知道是什么。有什么想法吗?

4

1 回答 1

3

我相信我已经找到了我的问题的答案。问题是微软正在限制办公产品自动化的使用。Server 2008 64bit 和 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
于 2010-01-21T00:37:32.940 回答