Mais
×

Como usar o VB VBA para performar um Ping teste

Atualizado em 20 julho, 2017

Ao automatizar o processo de ping de endereços diferentes usando o Virtual Basic para aplicativos (VBA), pode-se economizar muito tempo, especialmente quando é preciso fazer o ping de vários endereços. Executar o ping de um endereço significa aplicar um teste e determinar se o endereço está acessível na rede de internet. O VBA é muito parecido com o VB e é possível usá-lo em qualquer aplicativo do Microsoft Office, como o Excel. Para fazer o ping de um "host" (site hospedeiro de internet), é preciso usar poucas variáveis para executar um script de comando, usando o "Windows Scripting". Você pode usar esse método para checar os endereços de um "host", de modo a ter certeza de que eles estão funcionando. O programa VBA pode gerar um erro no caso de um host não responder.

Instruções

Crie uma nova função no Excel usando o VBA (Comstock/Comstock/Getty Images)
  1. Abra o Microsoft Excel, clique na aba "Desenvolvedor" e clique no "Visual Basic" para abrir a janela do editor VBA. Clique no menu "Inserir" e em "Modular" para inserir um novo código de modulação.

  2. Copie e cole o código, a seguir, para criar o procedimento que chamará o "myPingFunction" (minha função ping) e exibirá os resultados do ping para o "google.com" através de uma caixa de mensagem:

    Private Sub callPingFunction() MsgBox myPingFunction("google.com") End Sub

  3. Edite "google.com" da etapa anterior e digite o "host" que você deseja realizar o ping.

  4. Copie e cole a função a seguir para executar o ping do endereço do "host" que você enviou para a função e retorne os resultados para o procedimento de chamada:

    Function myPingFunction(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. Clique dentro do procedimento "callPingFunction" (chamar função ping) e pressione "F5" para executá-lo. Os resultados do ping serão exibidos através de uma caixa de mensagem.

O que você precisa

  • Microsoft Office
Cite this Article A tool to create a citation to reference this article Cite this Article