Convertir vbs en js

xyplex Messages postés 3 Date d'inscription samedi 6 février 2016 Statut Membre Dernière intervention 13 février 2016 - Modifié par jordane45 le 7/02/2016 à 01:04
xyplex Messages postés 3 Date d'inscription samedi 6 février 2016 Statut Membre Dernière intervention 13 février 2016 - 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.

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
7 févr. 2016 à 01:17
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


0
xyplex Messages postés 3 Date d'inscription samedi 6 février 2016 Statut Membre Dernière intervention 13 février 2016
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.
0
xyplex Messages postés 3 Date d'inscription samedi 6 février 2016 Statut Membre Dernière intervention 13 février 2016
Modifié par kazma le 13/02/2016 à 19:25
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>
0
Rejoignez-nous