背景:我编写了一个VB脚本,将文件夹中的所有Word文档合并到一个文件中。我从C ++代码运行此VB脚本。当我在服务器本身上运行此VB脚本时,它可以正常工作。但是,当从客户端计算机触发此服务器代码时,它将挂起(此VB脚本仍仅在服务器计算机上运行)。
我已经从VB脚本中删除了我的整个逻辑,以找到根本原因,并且只有下面的代码,没有别的。
Dim wdApp
Set wdApp = CreateObject("Word.application")
wdApp.visible = false
wdApp.Quit
Set wdApp = Nothing
此CreateObject导致系统挂起,然后逐渐消耗内存并导致分页。
我尝试设置wdApp.visible = true->没有错误消息。
[CreateObject("Word.Application")
创建Word应用程序对象的新实例
您应该首先尝试获得一个已经运行的产品
这是正确的方法
Dim wdApp As Object
On Error Resume Next
Set wdApp = GetObject(, "Word.Application") ' try getting a running instance of Word
If Err.Number <> 0 Then Set wdApp = CreateObject("Word.Application") ' if unsuccessful, try creating a new instance of Word
On Error GoTo 0
If wdApp Is Nothing Then
MsgBox "couldn't get or create an instance of Word"
Exit Sub
End If
wdApp.Visible = False
' your code with wdApp
wdApp.Quit
Set wdApp = Nothing