VBScript excel Adresse IP

  • Initiateur de la discussion Initiateur de la discussion jetted
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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...
 
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
 
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
 
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
 
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....
 
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
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
478
Réponses
3
Affichages
1 K
Retour