VBScript excel Adresse IP

jetted

XLDnaute Occasionnel
Bon je tente d'expliquer mon probleme, si je suis pas clair n'hesiter a me le laisser savoir

La ligne qui me donne du trouble
wsh.Run "%comspec% /c ipconfig >" & TempFil, 1, True

Si j'ouvre mon fichier C:\myip2.txt il est vide, cependant si j'effectue cette meme command manuellement avec "RUN"
%comspec% /c ipconfig > C:\MY1.TXT
tout est correct. Donc, si vous meme vous executer cette commande vous obtiendrez votre adresse IP dans le fichier C:\MY1.TXT

Merci au gourou

Code:
Function IPReturn(outputtype As Integer)
    Dim wsh As Object
    Dim RegEx As Object, RegM As Object
    Dim FSO As Object, fil As Object
    Dim ts As Object, txtAll As String, TempFil As String
    Dim target As String

    Set wsh = CreateObject("WScript.Shell")
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set RegEx = CreateObject("vbscript.regexp")
    TempFil = "C:\myip2.txt"
    ' Save ipconfig info to temporary file
    wsh.Run "%comspec% /c ipconfig >" & TempFil, 1, True
    'this can be run manually  %comspec% /c ipconfig > C:\MY1.TXT


    Set fil = FSO.GetFile(TempFil)
    ' Access temporary file
    Set ts = fil.OpenAsTextStream(ForReading)

    If outputtype = 1 Then target = "IP Address"
    If outputtype = 2 Then target = "Subnet Mask"
    If outputtype = 3 Then target = "Default Gateway"

    txtAll = Trim(ts.ReadLine)
    Do Until Left(txtAll, Len(target)) = target Or ts.atendofstream
        txtAll = Trim(ts.ReadLine)
    Loop

    If ts.atendofstream = True And Left(txtAll, Len(target)) <> target Then ts.Close: Exit Function
    ts.Close

    With RegEx
        .Pattern = "(\d{1,3}\.){3}\d{1,3}"
        .Global = False
    End With
    Set RegM = RegEx.Execute(txtAll)
    IPReturn = RegM(0)

    Kill TempFil

    Set ts = Nothing
    Set wsh = Nothing
    Set fil = Nothing
    Set FSO = Nothing
    Set RegM = Nothing
    Set RegEx = Nothing
End Function
 

jetted

XLDnaute Occasionnel
Re : VBScript excel Adresse IP

Merci Bruno

Je suis sous windows xp, avec excel 2003, mais comme je le disais le tout fonctionne manuellement mais avec le code que j'ai le probleme. Si le tout fonction le je devrais obtenir mon adresse ip dans le fichier texte...
 

jetted

XLDnaute Occasionnel
Re : VBScript excel Adresse IP

Merci PierreJean

Je tenter votre suggestion mes toujours la meme erreur erreur 62 (c'est parce que
mon fichier est vide.)

Code:
wsh.Run "%comspec% /c ipconfig > " & TempFil, 1, True
ou
wsh.Run "%comspec% /c ipconfig >" & TempFil, 1, True
ou
wsh.Run "%comspec% /c ipconfig > " & TempFil, 0, True
 

jetted

XLDnaute Occasionnel
Re : VBScript excel Adresse IP

Bonjour a tous

J'ai decide de simplifier mon exemple initiale, mais toujours avec le meme resultat

Code:
Sub test()
Dim TmpFile: TmpFile = "c:\ip.txt"
Dim ws: Set ws = CreateObject("WScript.Shell")
ws.Run "%comspec% /c ipconfig > " & TmpFile, 0, True
Set ws = Nothing
End Sub
 

jetted

XLDnaute Occasionnel
Re : VBScript excel Adresse IP

Merci Pierre Jean

Ton fichier me donne plus l'erreur 62, il ouvre le fichier, mais rien n'apparait,
je vais voir le fichier txt il est vide. Donc, plus j'y pense, peux etre c'est la
securite de notre firme qui empeche cela ?????????????????????

Je vais essayer cela chez moi ce soir, je dois quitter

Pierre Jean un gros merci pour ta patience et passe une belle soiree, de toute facon
je te redonne des nouvelles sous peu

Encore une fois merci
 

jetted

XLDnaute Occasionnel
Re : VBScript excel Adresse IP

Allo PierreJean

Comme promis je vous ecris pour vous faire part que votre code fonctionne a merveille a ma residence. Je dois conclure que ces la securite a mon travail qui m'empeche d'executer ce code..... J'aurais jamais pensee a ca ?????? Je vais voir si je ne peux faire autres choses pour palier a ce probleme. De toute facon ceci etait un "up grade" d'une autre demande de mes patrons.... mille mercis pour votre temps....
 

jetted

XLDnaute Occasionnel
Re : VBScript excel Adresse IP

Bonjour a tous

J'ai decide de simplifier mon exemple initiale, mais toujours avec le meme resultat

Code:
Sub test()
Dim TmpFile: TmpFile = "c:\ip.txt"
Dim ws: Set ws = CreateObject("WScript.Shell")
ws.Run "%comspec% /c ipconfig > " & TmpFile, 0, True
Set ws = Nothing
End Sub

Je poste la solution de mon probleme afin que les autres puissent egalement en beneficie

Code:
remplace cette ligne 
ws.Run "%comspec% /c ipconfig > " & TmpFile, 0, True

par
ws.Run "cmd.exe /c c:\windows\system32\ipconfig >> " & TmpFile, 1, True
 

pierrejean

XLDnaute Barbatruc
Re : VBScript excel Adresse IP

Re

j'avais demandé : Quelle version d'Excel
Peut-etre aurais-je du demander quelle Version de Windows
En effet cette nouvelle formulation ne fonctionne pas chez moi :
Erreur :Objet requis
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 361
Messages
2 087 623
Membres
103 608
dernier inscrit
rawane