Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1443 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBScript] Hyperlink dans Excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBScript] Hyperlink dans Excel

n°1322494
Shotokan
Posté le 10-03-2006 à 09:21:49  profilanswer
 

Je cherche a lister tous les liens vers d'autres fichiers pour un fichier excel passer un argument, a priori pas complique mais j'ai commence le VBscript y a 3 jours  :sweat: . J'appelle le programme via un cmd qui lui lance tous les xls de certains repertoires suivants certains criteres.
 
Avec Word, j'ai pas eu de probleme  :bounce: , mais avec excel  :kaola: :
j'ai des messages indiquant parfois des modifications de liens entre classeur (voulez vous mettre a jour..., je clique non mais je ne sais pas si l'extraction fonctionne correctement par la suite), alors que j'ai mis objexcel.DisplayAlerts=False.
 
En plus je recherche que dans 1 worksheet, y a t il un moyen d'avoir le nombre de feuille via une commande afin de faire ensuite un do while ... loop
 
Ci dessous le code si vous pouvez m'aider a corriger les bugs, merci bcp de m'aider un peu
 
 
'declaration des variables
Dim nomFichier, objExcel, resultatxls, args, link,Process, ProcessSet
ProcessName="Excel.exe"
 
'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"
WScript.quit 'on sort du vbs si pas d argument
else
nomFichier=args(0)
end if
 
'Definition du fichier resultat
resultatxls="C:\Documents and Settings\users\Mes documents\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
 
'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
objWorksheet.Activate                                   ' on l active
 
'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
 
 
'fermeture des ressources
objFilexls.Close
objworkbook.Close
objExcel.Quit
 
'kill de excel s'il reste ouvert en arriere plan
Set shell = WScript.CreateObject("WScript.Shell" )
Set ProcessSet=GetObject("winmgmts:{impersonationLevel=impersonate}!//" & Computer).InstancesOf _
 ("Win32_process" )
for each Process in ProcessSet
 If InStr(1,Process.Name, ProcessName, vbTextCompare)>0 Then
    result=Process.terminate(0)
        end if
Next
Wscript.quit
 
 
 

mood
Publicité
Posté le 10-03-2006 à 09:21:49  profilanswer
 

n°1322779
Shotokan
Posté le 10-03-2006 à 14:30:32  profilanswer
 


j'ai trouve une partie de la reponse, on verra pour la suite
 
for each sheet in objworkbook.worksheets
  sheet.activate
  ....
Next


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBScript] Hyperlink dans Excel

 

Sujets relatifs
ouverture d'un fichier access sous excel[VBA] Excel différencier cellules vide ou contenant 0
[VBA] Excel : problème avec la fonction PrintUrgent: Formulaire VBScript
Cellule qui sature sous Excel & VBexcel verifier quantité inventaire facture
Code pour Macro sous Excel[RESOLU]Créer une instance Excel à partir de Word 97 ou 2003
Empêcher de fermer une UserForm sous VBA (Excel)Fonction RechercheV sous VB Excel
Plus de sujets relatifs à : [VBScript] Hyperlink dans Excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR