1

Avaya CMS で 3 秒ごとに CSV を生成するために使用される VBScript があります。この CSV は、ノード サーバーによって変更されるたびに読み取られます。

ときどきエラー (エラー 52) がスローされ、誰かがプロンプトで [OK] を手動でクリックする必要があり、その後続行します。

私は最初のスクリプトを書きませんでしたが、このエラーがスローされないように修正しようとしています。

私が理解している限り、ノードサーバーがファイルを読み取ろうとしているときにスクリプトがファイルに書き込もうとすると、問題が発生します。

これまでのところ、ファイルを読み取り専用にすることでこれを修正しようとしましたが、スクリプトで書き込み可能にし、書き込み、再度読み取り専用にします。

これで問題は解決したと思っていましたが、エラー 52 のポップアップが再び表示され、今はよくわかりません。

VB/Avaya にエラーを無視させる方法があるかどうかは誰にもわかりませんか? On Error Resume Nextファイルを書き込む行の前に置くようなことを考えていましたか?

エラーを無視するのは良い方法ではないことはわかっていますが、この場合、無視すると、このループでファイルが更新されないことを意味しますが、3 秒後に再びループするため、問題ないはずです。

脚本:

On Error Resume Next

cvsSrv.Reports.ACD = 1
Set Info = cvsSrv.Reports.Reports("Real-Time\Designer\Skill Status")

If Info Is Nothing Then
Else
  b = cvsSrv.Reports.CreateReport(Info,Rep)
  If b Then
    Rep.RefreshInterval = 3
    Rep.SetProperty "Split/Skill","5"

    Set WshShell = CreateObject("WScript.Shell")

    theHTMLLocation = "C:\wamp\www\wallboards\agent_status.csv"

    theSleepFile = "C:\wamp\www\wallboards\sleep.vbs"

    theTemplateLocation = ""
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set gfile = fso.GetFile("C:\wamp\www\wallboards\agent_status.csv")

    Do While Rep.Window.Caption <> ""
      gfile.Attributes = 0

      d = Rep.ExportData("C:\wamp\www\wallboards\agent_status.csv", 44, 0, False, True, True)

      gfile.Attributes = 1

      WshShell.Run "wscript.exe """ & theSleepFile & """", , True
    Loop

    If Not cvsSrv.Interactive Then cvsSrv.ActiveTasks.Remove Rep.TaskID
    Set Rep = Nothing
  End If
End If
Set Info = Nothing

PS - ファイルの先頭に関連性がないと思われるいくつかのパラメーターを残しました。

ここに画像の説明を入力

4

0 に答える 0