我试图在使用ftp上传文件之前ping服务器。最近,一位客户抱怨说这个过程很冷。我用vbscript文件测试了ping进程,以确保计算机上没有破坏某些东西。 vbscript运行得很好。所以我从Access数据库运行脚本,它就像之前一样挂起。我在这里缺少ping exe的东西吗?
双击时运行得很好的Vbscript。
Const fsoForWriting = 2
Dim oShell, ping, strPath, strPing
Set oShell = WScript.CreateObject ("WScript.Shell")
Set ping = oShell.exec("ping -n 2 -w 750 google.com")
Do While ping.Status = 0
WScript.Sleep 100
Loop
strPing = ping.StdOut.ReadAll
strPath = Wscript.ScriptFullName
Set objFSO = CreateObject("Scripting.FileSystemObject")
strTextFile = objFSO.GetParentFolderName(strPath) & "\PingResults.txt"
Set objTextStream = objFSO.OpenTextFile(strTextFile, fsoForWriting, True)
objTextStream.WriteLine strPing
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
Set oShell = Nothing
启动时在测试数据库上运行的VBA函数。这是挂起的代码。
Function fFtpOnline(ByVal ComputerName As String)
On Error GoTo ErrHandler
Dim oShell, ping
Set oShell = CreateObject("WScript.Shell")
Set ping = oShell.exec("cscript " & Access.CurrentProject.Path & "\" & "Test.vbs")
Do While ping.Status = 0
DoEvents
Loop
Set oShell = Nothing
Exit Function
ErrHandler:
MsgBox Err.Description & " " & "fFtpOnline "
Resume Next
End Function
此代码在我的计算机上正常工作,但在客户端的计算机上,代码挂起。
答案 0 :(得分:0)
这听起来像是一个粗鲁的答案,但绝不是故意的。正如上面的评论所述,这很可能是客户端的问题。如果程序目前在您的工作结束而不是他们的问题,而不是代码。我遇到了大量无能为力的客户,除非他们愿意让你远程控制他们的机器,否则我建议他们为你捕捉一些信息。 ipconfig是一个很好的起点。虽然他们在命令提示符下让他们尝试ping一些地方。我知道这不是一个真正的答案,但这是我过去遇到的。