Come usare VB VBA per eseguire un test Ping

May 28

Come usare VB VBA per eseguire un test Ping


L'automazione del processo di pinging indirizzi diversi che utilizzano Visual Basic, Applications Edition (VBA) si può risparmiare un sacco di tempo, soprattutto quando si ha a ping molti indirizzi. Per eseguire il ping di un indirizzo significa per eseguire un test e determinare se l'indirizzo è accessibile attraverso la rete. VBA è molto simile a VB e si può utilizzare in qualsiasi applicazione di Microsoft Office come Excel. Per eseguire il ping un host, è necessario utilizzare alcune variabili oggetti per eseguire un comando script utilizzando "Windows Scripting". È possibile utilizzare questo metodo per controllare indirizzi host continuamente per assicurarsi che siano in funzione. Il vostro programma VBA può generare un errore nel caso in cui un host non risponde.

istruzione

1 Avviare Microsoft Word, fare clic sulla scheda "Sviluppatore" e fare clic su "Visual Basic" per avviare la finestra editor VBA. Fare clic sul menu "Inserisci" e fare clic su "Modulo" per inserire un nuovo modulo di codice.

2 Copiare e incollare il seguente codice per creare la procedura che chiamerà il "myPingFunction" e visualizzare i risultati ping per "google.com" attraverso una finestra di messaggio:

Private Sub callPingFunction ()

MsgBox myPingFunction("google.com")

End Sub

3 Modifica "google.com" nel passaggio precedente e digitare l'host che si desidera eseguire il ping.

4 Copiare e incollare la seguente funzione per eseguire il ping l'indirizzo dell'host è stato inviato alla funzione e restituire i risultati della procedura di chiamata:

myPingFunction Funzione (hostaddress As String) As String
Dim FSObj As Object

Dim shellObj As Object
Dim tmpFileObj As Object
Dim sLine As String
Dim sFilename As String
Set FSObj = CreateObject("Scripting.FileSystemObject")
Set shellObj = CreateObject("Wscript.Shell")
sFilename = FSObj.GetTempName
shellObj.Run "cmd /c ping " & hostAddress & " >" & sFilename, 0, True
Set tmpFileObj = FSObj.OpenTextFile(sFilename, 1)
Do While tmpFileObj.AtEndOfStream <> True
sLine = tmpFileObj.Readline
myPingFunction = myPingFunction & Trim(sLine)
Loop
tmpFileObj.Close
FSObj.DeleteFile (sFilename)

End Function

5 Fare clic all'interno della "callPingFunction" Procedura e premere il tasto "F5" per eseguirlo. I risultati ping stanno per essere visualizzati attraverso una finestra di messaggio.