Lire l'URL d'un favori Internet

  • Initiateur de la discussion Initiateur de la discussion MJ13
  • 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 !

MJ13

XLDnaute Barbatruc
Bonjour à tous.

Peut-on en VBA lire l'URL d'un favori que l'on pourrait lister à partir de la liste dans C:\documents and settings\utilisateur\favoris?
 
Re : Lire l'URL d'un favori Internet

Bonsoir

En biaisant (avec ce bon vieux msdos)

copier les lignes ci-dessous dans un fichier *.bat

@copy c:\windows\favoris\*.url c:\xtest.txt
@find /V "InternetShortcut" c:\xtest.txt >c:\111.zzz
@find /V "Modified" c:\111.zzz >c:\222.zzz
@find /V "VisitTime" c:\222.zzz >c:\okfin.txt
@del c:\*.zzz

Puis avec une macro VBA lancer ce fichier batch
avec Shell
 
Re : Lire l'URL d'un favori Internet

Re

Une solution en VBA uniquement

Code:
Sub GetFav()
'source: Iwer Moerck (March 1999)

Dim i As Integer
Dim Path As String
Dim f As String
Dim URL As String

Set sht = Sheets("Feuil1")
Path = "C:\windows\Favoris\*.*"
i = 1
f = Dir(Path)

If UCase(Right(f, 4)) = ".URL" Then
Open Left(Path, Len(Path) - 3) & f For Input As 1
Input #1, URL ' First one is not what you want
Input #1, URL
Close 1
sht.Cells(i, 1).Value = Right(URL, Len(URL) - 4)
i = i + 1
End If

Do
f = Dir()
If UCase(Right(f, 4)) = ".URL" Then
Open Left(Path, Len(Path) - 3) & f For Input As 1
Input #1, URL
Input #1, URL
Close 1
sht.Cells(i, 1).Value = Right(URL, Len(URL) - 4)
i = i + 1
End If
Loop Until f = ""
End Sub

Il faudrait rajouter du code pour parcourir les sous répertoires
des Favoris

edit: voir dans l'exemple joint le code complet
 
Dernière édition:
Re : Lire l'URL d'un favori Internet

bonjour

Voici une autre posibilité.

Code:
Sub informationsFavoris()
    '
    'testé avec excel2002/2007 & WinXp
    '
    Const Cible = &H6 'Favoris
    '
    Dim objShell As Object
    Dim objFolder As Object
    Dim colItems As Object
    Dim objItem As Object
    Dim i As Integer
    Dim Fso As Object
    
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(Cible)
    Set colItems = objFolder.Items
    Set Fso = CreateObject("Scripting.FileSystemObject")
    
    For Each objItem In colItems
        If objItem.IsLink Then
            i = i + 1
            Cells(i, 1) = objItem.Path
            Cells(i, 2) = objItem.GetLink.Path
        End If
    Next objItem
End Sub


Si les favoris contiennent des sous dossiers, il suffira d'adapter et d'ajouter une boucle récursive.


Bonne journée
MichelXld
 
Dernière édition:
Re : Lire l'URL d'un favori Internet

Bonjour à staple,MichelxLd et au forum.


Staple J'ai testé tes 2 codes pour le premier en bon vieux Msdos que j'apprécie en général, j'ai pas trop réussi.
Avec le second, cela à l'air de fonctionné, j'obtiens l'url.

MichelXld, ton code est ce que j'attendais c'est à dire le nom et l'URL.

Voir le fichier joint pour mes tests.

Encore merci à vous deux, au forum et bon week-end.
 

Pièces jointes

Re : Lire l'URL d'un favori Internet

Re bonjour,

Avec ton fichier, sur excel 2007, il ne trouve pas grand chose (j'ai modifié le chemin).

Je préfère ton autre code et celui de MichelXLD que j'ai mis dans le fichier qui sont à adapter et fonctionnnent sur XL2007.

En plus j'aime bien ne pas avoir qu'une seule façon de faire.
Encore merci.
 
Re : Lire l'URL d'un favori Internet

Re Bonjour staple.

Oui bon ça c'est le risque entre versions, il y a des choses qui passent et pas d'autres.

Par contre je te conseille de passer à une version plus récente (sous WIN et Excel).
 
- 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
5
Affichages
123
Retour