Bonjour à tous et merci pour votre aide,
Je souhaite lire un fichier excel via un raccourci dont l'extension est lnk? Pourriez-vous m'indiquer une piste pour résoudre ce problème ?
Bonne journée
Saïd
Bonjour à tous et merci pour votre aide,
Je souhaite lire un fichier excel via un raccourci dont l'extension est lnk? Pourriez-vous m'indiquer une piste pour résoudre ce problème ?
Bonne journée
Saïd
Peut-etre recuperer le chemin reel du fichier en lisant les proprietes du raccourci. ca doit etre possible (je suppose) avec le FyleSystemObject.
Ainsi tu pourras ouvrir le fichier excel.
Zaal
Bonjour Zaal,
Je suis d'accord avec toi sur le principe qu'il faut récupérer le chemin du fichier dans les propriétés du fichier raccourci , mais je n'arrive pas à trouver la syntaxe de "fylesystemobject" ni dans l'aide dans vb6 ni sur le net.
Comment faire pour récupérer le chemin du fichier cible dans un raccourci soit à l'aide de "fylesystemobject" ou autre moyen merci à vous et bonne journée
Saïd
bonjour
voici une aute possibilité pour declencher un raccourci bureau à partir de son nom
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Sub lancerRaccourciBureau() ' 'Nécessite d'activer la référence '"Microsoft Shell Controls and Automation" ' Const Cible = &H10 'Bureau ' Dim objShell As Shell32.Shell Dim objFolder As Shell32.Folder Dim colItems As Shell32.FolderItems Dim objItem As Shell32.FolderItem Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace(Cible) Set colItems = objFolder.Items For Each objItem In colItems If objItem.IsLink Then If objItem.Name = "Raccourci vers monClasseur.xls" Then _ objItem.InvokeVerb End If Next End Sub
bon apres midi
michel
Bonsoir Michel,
En faite je n'ai pas besoin de déclencher le raccourci, mais de récupérer le nom et chemin du fichier auquel il est lié afin de faire des traitements excel avec vb6 sur ce fichier.
Bonne réception
Saïd
bonsoir Saïd
dans ce cas tu peux adapter la procedure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 For Each objItem In colItems If objItem.IsLink Then If objItem.Name = "Raccourci vers monClasseur.xls" Then _ MsgBox objItem.GetLink.Path End If Next
bonne soiree
michel
Bonjour Michel et à tous,
Ca ne fonctionne pas mais je pense qu'on y est presque à la fameuse solution.
La référence : "Microsoft Shell Controls and Automation" n'est existe pas et je l'ai remplacer par "microsoft dialog automation objects".
Je rencontre l'erreur suivante due je pense au mauvais choix de la référence :
Quelle serait donc la référence la plus appropriée ?erreur de compilation: type défini par l'utilisateur non défini
Merci pour toute l'aide apportée.
Saïd
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub lancerRaccourciBureau() ' 'Nécessite d'activer la référence '"Microsoft Shell Controls and Automation" ' Const Cible = &H10 'Bureau ' ' l'erreur se rapporte a la ligne suivante: Dim objShell As Shell32.Shell Dim objFolder As Shell32.Folder Dim colItems As Shell32.FolderItems Dim objItem As Shell32.FolderItem Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace(Cible) Set colItems = objFolder.Items For Each objItem In colItems If objItem.IsLink Then If objItem.Name = "Raccourci vers monClasseur.xls" Then _ MsgBox objItem.GetLink.Path End If Next End Sub
est tu sur de ne pas trouver "Microsoft shell controls et automation" shell32.dll ?
sous excel 2000.. cela marche sans référence, il suffit de ne pas "typer" les variables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub MonTest() Const Cible = &H10 'Bureau ' Dim objShell 'As Shell32.Shell Dim objFolder 'As Shell32.Folder Dim colItems 'As Shell32.FolderItems Dim objItem 'As Shell32.FolderItem Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.NameSpace(Cible) Set colItems = objFolder.Items For Each objItem In colItems If objItem.IsLink Then If objItem.Name = "Raccourci vers monClasseur.xls" Then _ Debug.Print objItem.Path End If Next End Sub
Bonjour à tous,
Réponse: j'ai vérifié une nouvelle fois et je n'ai rien trouvé se rapportant à ces références. Pourtant, j'ai fait la recherche de "shell32.dll" et il est bien présent sur mon disque.es-tu sur de ne pas trouver "Microsoft shell controls et automation" shell32.dll ?
Le code que m'a proposé BBIL me génère l'erreur:le curseur se positionne sur la ligne :erreur d'exécution 429: le composant activex ne peut créer l'objet
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set objShell = CreateObject("Shell.Application")
Merci de m'aider à trouver une piste pour règler ces sous.
A très bientôt
Saïd
ton shell32.dll tu la trouvé ou ..?
voir s'il ne faut pas l'enregistrer par un démarrer/exécuter :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 regsvr32 c:\windows\system32\shell32.dll
"shell32.dll" est bien dans le répertoire c:\winnt\system32. Je pense qu'il est bien enregistré car je l'ai déplacé et par erreur j'ai redémarré l'ordinateur. windows m'a signalé l'absence de "shell32.dll". Et lorsque je lance la commande:
j'ai un message en anglais que je ne peux décodé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 regsvr32 c:\winnt\system32\shell32.dll
Pour simplifier mon problème: mes racourcis seront installés dans différents endroits c'est-à-dire pas sur le bureau mais dans des répertoires particuliers. Le but pour moi est de récupérer uniquement le nom du fichier auquel le raccourci se rapporte. Mon raccourci a l'extension "lnk".
Excusez-moi pour ces embêtements mais je suis très bloqué.
Saïd
ben poste le codéEnvoyé par couscoussier
Salut à tous,
Voilà le résultat de la commandeEnvoyé par bbil
Remarque je travaille sur nt 4.0. Par cotre j’ai 355 références dans vb6.
A+
Saïd
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager