A voir également:
- [VBscript] hyperlink dans excel
- Liste déroulante excel - Guide
- Formule excel - Guide
- Si et excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Mise en forme conditionnelle excel - Guide
3 réponses
Bonjour,
voilà, j'ai apporté quelques modifications !
Lupin
voilà, j'ai apporté quelques modifications !
'----------------------------------------------------------------------------------- 'Déclaration des variables Dim nomFichier, objExcel, objReseau, Resultatxls, Args, Link, Process, ProcessSet Dim ProcessName, Ordinateur 'On verifie s il y a bien l argument de la fonction qui est le nom du fichier Set args = Wscript.Arguments If args.count=0 Then WScript.Echo "il manque les parametres" Else ProcessName="Excel.exe" nomFichier=args(0) 'Definition du fichier resultat resultatxls="C:\Documents and Settings\sigmb12\Bureau\resultatxls.txt" 'Ouverture des applications Set objExcel = CreateObject("Excel.Application") objExcel.Visible = False 'on n affiche pas excel objExcel.DisplayAlerts = False 'on desactive les alarmes objExcel.ScreenUpdating = False 'on désactive le rafraichissement d'ecran 'ouverture du fichier de resultat Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFilexls = objFSO.CreateTextFile(resultatxls) 'ouverture du fichier Excel Set objWorkbook = objExcel.WorkBooks.Open(nomFichier) ' on ouvre le fichier voulu ' Set objWorksheet = objExcel.Worksheets(1) ' on prend la feuille excel 1 For Each objWorksheet In objExcel.Worksheets ' WScript.Echo objWorksheet.Name 'recherche des hyperlinks non vide et copie dans le fichier de resultat Set colHyperlinks = objWorkSheet.Hyperlinks ' on prend tous les liens de la feuille For Each objHyperlink in colHyperlinks ' pour chaque lien non vide on le copie dans le fichier If Not (objHyperlink.Address="") then objFilexls.WriteLine chr(34) & objHyperlink.Address & Chr(34) & " ; " & objHyperlink.TextToDisplay End if Next Next objExcel.ScreenUpdating = True 'on réactive le rafraichissement d'ecran objExcel.DisplayAlerts = True 'on réactive les alarmes 'fermeture des ressources objFilexls.Close objworkbook.Close objExcel.Quit 'kill de excel s'il reste ouvert en arriere plan Set objReseau = CreateObject("WScript.Network") Ordinateur = LCase(objReseau.ComputerName) Set ProcessSet=GetObject("winmgmts:{impersonationLevel=impersonate}!//" & Ordinateur).InstancesOf _ ("Win32_process") For Each Process in ProcessSet If (InStr(1,Process.Name, ProcessName, vbTextCompare) > 0) Then result=Process.terminate(0) End If Next End if Wscript.quit
Lupin
re:
j'ai oublié de libérer les inititeurs !
le final du code :
devient
Lupin
j'ai oublié de libérer les inititeurs !
le final du code :
End If Next End if Wscript.quit
devient
End If Next Set args = Nothing Set objExcel = Nothing Set objFSO = Nothing Set objFilexls = Nothing Set objWorkbook = Nothing Set colHyperlinks = Nothing Set objReseau = Nothing End if Wscript.quit
Lupin