从Access VBA中关闭WRQ反射实例



这是我的第一个问题,请别为难我。

我的公司正在使用UNIX和OpenVMS的反射,我正在构建一个与软件交互的数据库,因为我不可能访问反射应用程序背后的数据库(需要太多的授权等)。

我现在正在与MS Access 2013工作,并在VBA编码。我的主要问题是以干净的方式关闭Reflection实例。

下面的代码对我来说很好:

Sub Test()
Dim strUserId As String
Dim MyObject As Reflection2.Session
Set MyObject = GetObject(Path)
strUserId = InputBox("Enter user ID.")
ContractNum = InputBox("Enter a contract number :")
With MyObject
    .Visible = True
    .Connect
    .Transmit strUserId
    .TransmitTerminalKey rcVtEnterKey
    .Transmit ContractNum
    .TransmitTerminalKey rcVtEnterKey
    sContractNum = .GetText(1, 18, 1, 28)
    'Do other shit
End With
**Exit Reflection** 
Set MyObject = Nothing
End Sub

我试过以下方法:

MyObject.Close ==> Returns : "Run-time error '438': Object doesn't support this property of method"
MyObject.Exit ==> Returns : "Run-time error '438': Object doesn't support this property of method"
MyObject.Quit ==> Returns : "Run-time error '10097': This function not available when running Reflection as a document object."

有:MyObject.ConfirmExit = True,但正如它所说,它只确认而不关闭。

无论如何,我希望有人能在通过Shell命令进行硬关闭之前提供帮助(我猜在Google上不难找到)。

谢谢! !

找到了使用以下代码的方法,这是一个相当苛刻的关闭,但目前工作良好:

Function TaskKill(sTaskName)
    TaskKill = CreateObject("WScript.Shell").Run("taskkill /f /im " & sTaskName, 0, True)
End Function
If TaskKill("r2win.exe") = 0 Then MsgBox "Terminated" Else MsgBox "Failed"

希望有帮助

相关内容

  • 没有找到相关文章

最新更新