VBScript错误52文件名或编号错误

时间:2016-10-07 12:51:08

标签: vbscript wsh avaya

我有一个VBScript,在Avaya CMS中用于每3秒生成一个CSV。然后,节点服务器会在每次更改时读取此CSV。

每隔一段时间它就会抛出一个错误(错误52)然后需要有人在提示符上手动单击“确定”然后继续。

我没有编写初始脚本,但我一直在尝试修复它,因此它不会抛出此错误。

据我所知,当节点服务器尝试读取文件时脚本尝试写入文件时会导致此问题。

到目前为止,我试图通过使文件只读来修复此问题,然后在脚本中使其可写,写入并使其再次读取。

我认为这已解决了这个问题,但我又收到了错误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

P.S - 我在文件的那个开头省略了一些我认为不相关的参数,如果有人认为他们是我会添加它们。

enter image description here

0 个答案:

没有答案