Convertir vbs en js

xyplex 3 Messages postés samedi 6 février 2016Date d'inscription 13 février 2016 Dernière intervention - 6 févr. 2016 à 23:09 - Dernière réponse : xyplex 3 Messages postés samedi 6 février 2016Date d'inscription 13 février 2016 Dernière intervention
- 13 févr. 2016 à 19:01
Bonjour,
J'ai un fichier excel/vbs que je voudrai convertir en html/js, pouvez vous m'aider, svp? Je suis débutant, merci pour votre compréhension.

Le fichier excel contient 3 colonnes avec un bouton "Ping"
Hostname - IP - Result
host1 - 192.168.1.1 - online

En cliquant sur ping, le script ping les host et indique dans la 3e colonne si "online ou offline"

Est ce possible de déposer le fichier excel?sinon voici le script:
Sub Ping()

i = 2
 
Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
  Dim colonneNom
  Dim colonneIP
  Dim colonneResults
      
    colonneNom = "A"
    colonneIP = "B"
    colonneResults = "C"
  
ActiveSheet.Select
Total_Lignes = ActiveSheet.UsedRange.Rows.Count
      
   
    For i = 2 To Total_Lignes
Cells(1, 1).Value = "Name"
Cells(1, 2).Value = "IP"
Cells(1, 3).Value = "Results"


 Dim WSHShell As Object
 Set WSHShell = CreateObject("Wscript.Shell")
 
 PingCmd = "cmd /c ping.exe -n 1 " & Range("B" & i).Value & " | find /I " & Chr(34) & "octets=" & Chr(34)
 PingShell = WSHShell.Run(PingCmd, 0, True)
 
Select Case PingShell
    Case 0
    Cells(i, 3).Value = "On Line"
    Cells(i, 3).Select
    Selection.Font.Bold = True
    Case 1
    Cells(i, 3).Value = "Off Line"
    Cells(i, 3).Select
    Selection.Font.Bold = True
End Select

Next
 End Sub

Merci d'avance




EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Afficher la suite 

Votre réponse

3 réponses

jordane45 21038 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 mai 2018 Dernière intervention - 7 févr. 2016 à 01:17
0
Utile
Bonjour,

1 - Le code que tu nous montres... c'est du VBA ... pas du VBS .....

2 - ... il n'existe pas, à ma connaissance, d'outils de conversion...
il ne te reste plus qu'à coder....

Tu dois pouvoir t'inspirer de ceci : http://bioinfo-fr.net/ping-en-jquery


xyplex 3 Messages postés samedi 6 février 2016Date d'inscription 13 février 2016 Dernière intervention - 7 févr. 2016 à 16:37
Bonjour,
Merci pour la précision sur le vba.
Je fait un petit peu de "dev" pour automatiser ce n'est pas ma formation de base.
En effet, j'avais trouvé les info sur le site tu as cité mais je n'ai pas réussi à m'en sortir.
En me basant sur la section html puis js, le résultat ne donne rien cad en cliquant sur "Ping These" rien ne se passe.
Commenter la réponse de jordane45
xyplex 3 Messages postés samedi 6 février 2016Date d'inscription 13 février 2016 Dernière intervention - Modifié par kazma le 13/02/2016 à 19:25
0
Utile
Bonjour
Bon j'ai un peu avancé avec mon code, cela commence à me convenir.
Comment insérer le résultat du ping dans la bonne ligne/colonne?


Nouveau code :
<html>
<head>
</head>
<body>
 <p class="italic" class="arial" id="Write2"></p>
<table id="tableau" border="1">
<thead>
   <tr>
    <th>Hostname</th>
    <th>IP Address</th>  
    <th>Result</th>
   </tr>
</thead>
<tbody>
   <tr>
    <td>host1</td> 
 <td>192.168.1.1</td>         
   </tr>
   <tr>
    <td>host2</td> 
 <td>127.0.0.1</td>    
   </tr>
   <tr>
    <td>host3</td> 
 <td>192.168.100.1</td> 
    </tr>
</tbody>
</table> 
<script type="text/javascript" language="javascript">

function PingIP(ipAddress) 
{
 var oShell = new ActiveXObject("wscript.shell"); 
 var quote = String.fromCharCode(34); 
var table = document.getElementById("tableau")
var totalrow = table.rows.length;
var firstRow = table.rows[0];
var lastRow = table.rows[table.rows.length-1];
 
for(i=1; i < totalrow;i++){
   row = table.rows[i]
   col = row.cells[1]
 
 var ipAddress = col.firstChild.nodeValue;
 PingCmd="cmd /c ping -n 4 " + ipAddress + " | find /I " + quote + "octets=" + quote;
   PingShell = oShell.Run(PingCmd, 0, true); 
   PingResult = PingShell;
  
 var Status; 
 switch (PingResult) {
   case 0:
  Status = "On Line";
  break;
   case 1:
  Status = "Off Line";
  break;
  }
   document.getElementById("Write2").innerHTML = ipAddress + " " + Status;
  }
}
</script> 
<form name="myform"><input type="button" value="Ping me" onClick="PingIP()"></form> 
</body>
</html>
Commenter la réponse de xyplex

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.