[英]Avaya CMS data extraction in vba only works when single stepping
當我運行代碼以從CMS報告中檢索數據時,如果我單步執行該代碼,則該代碼有效,但是,如果我正常運行,它(最終)將失敗,並且MS Access停止響應。
' Sets parameters for report
cmsReport.SetProperty reportPrompt(1, 1), reportPrompt(1, 2)
cmsReport.SetProperty reportPrompt(2, 1), reportPrompt(2, 2)
cmsReport.SetProperty reportPrompt(3, 1), reportPrompt(3, 2)
' Runs report and extracts results
EmptyClipboard
b = cmsReport.ExportData("", 44, 0, True, True, True)
Do While ClipboardEmpty
' for some reason, avaya doesn't always copy to clipboard, so keep repeating it until it gives up the data!
b = cmsReport.ExportData("", 44, 0, True, True, True)
Loop
用於檢查剪貼板的子例程,並在嘗試將數據放入剪貼板之前清空它:
Private Declare Function apiOpenClipboard Lib "user32" Alias "OpenClipboard" (ByVal hWnd As Long) As Long
Private Declare Function apiEmptyClipboard Lib "user32" Alias "EmptyClipboard" () As Long
Private Declare Function apiCloseClipboard Lib "user32" Alias "CloseClipboard" () As Long
Private Declare Function CountClipboardFormats Lib "user32" () As Long
Sub EmptyClipboard()
If apiOpenClipboard(0&) <> 0 Then
Call apiEmptyClipboard
Call apiCloseClipboard
End If
End Sub
Function ClipboardEmpty() As Boolean
ClipboardEmpty = (CountClipboardFormats() = 0)
End Function
我對對象使用后期綁定,並且安裝了Avaya CMS 16.2。
我嘗試設置超時,但沒有成功(行或行和行都無法解決問題)
cmsConnection.lTimeOutSecs = 60
cmsConnection.bTimeOutEnable = False
在我的組織中,大多數情況下,對於將未記錄的VBA API入侵avaya CMS主管應用程序,我們非常沮喪。 我建議改為使用與Avaya服務器的直接ODBC連接。 Avaya提供了大量有關如何ODBC連接到其服務器的文檔。 如果需要幫助來查找特定於您的安裝的avaya文檔,請以您使用的版本進行答復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.