Raccourcis sur le bureau gérés par Excel VBA

Le
Patrick_67
Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API) permettant
de créer un raccouci sur le bureau. Ce raccourci pointant vers un classeur
Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses

Patrick

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Alain CROS
Le #2493921
Bonjour.

Sub ChgIconShortcut()
Dim WshShell As Object, Link As Object, LeNom$, LeNouveauIcon$
LeNom = "LeNomduRaccourci" ' a adapter
LeNouveauIcon = "Shell32.dll,8"
Set WshShell = CreateObject("WScript.Shell")
Set Link = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop") & "" & LeNom & ".lnk")
Link.IconLocation = LeNouveauIcon
Link.Save
Set Link = Nothing
Set WshShell = Nothing
End Sub

Sub DeleteShortCut()
Dim WshShell As Object, FSO As Object, LeNom$
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
LeNom = "LeNomduRaccourci" ' a adapter
FSO.DeleteFile WshShell.SpecialFolders("Desktop") & "" & LeNom & ".lnk"
Set FSO = Nothing
Set WshShell = Nothing
End Sub

Alain CROS

"Patrick_67"
Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API) permettant
de créer un raccouci sur le bureau. Ce raccourci pointant vers un classeur
Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick




j
Le #2493911
on peut faire tout ça
http://jacxl.free.fr/cours_xl/raccourci.html



"Patrick_67" ebCoD$
Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API)
permettant

de créer un raccouci sur le bureau. Ce raccourci pointant vers un classeur
Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick




Patrick_67
Le #2451661
Merci pour ces infos. Vais essayer tout cela dès que possible...


"Patrick_67" ebCoD$
Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API)
permettant de créer un raccouci sur le bureau. Ce raccourci pointant vers
un classeur Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick



Patrick_67
Le #2493851
Rebonjour,

Si j'ai bien compris, le 8 de l'instruction "Shell32.dll,8" correspondrait à
la 9ème icône de la DLL (numérotation commençant à 0)...

Y-a-t-il un moyen simple de connaître la correspondance entre les icônes
possibles et leur numéros ?

Merci à nouveau !

"Alain CROS" a écrit dans le message de news:
%
Bonjour.

Sub ChgIconShortcut()
Dim WshShell As Object, Link As Object, LeNom$, LeNouveauIcon$
LeNom = "LeNomduRaccourci" ' a adapter
LeNouveauIcon = "Shell32.dll,8"
Set WshShell = CreateObject("WScript.Shell")
Set Link = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop") &
"" & LeNom & ".lnk")
Link.IconLocation = LeNouveauIcon
Link.Save
Set Link = Nothing
Set WshShell = Nothing
End Sub

Sub DeleteShortCut()
Dim WshShell As Object, FSO As Object, LeNom$
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
LeNom = "LeNomduRaccourci" ' a adapter
FSO.DeleteFile WshShell.SpecialFolders("Desktop") & "" & LeNom &
".lnk"
Set FSO = Nothing
Set WshShell = Nothing
End Sub

Alain CROS

"Patrick_67" ebCoD$
Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API)
permettant
de créer un raccouci sur le bureau. Ce raccourci pointant vers un
classeur
Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick








Misange
Le #2493041
Bonjour
regarde ici
http://www.excelabo.net/moteurs/compteclic.php?nom=icones-xl
(tape aussi icone dans le moteur d'excelabo, tu trouveras d'autres trucs
sympas)

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Le 02/05/2005 23:50, :
Rebonjour,

Si j'ai bien compris, le 8 de l'instruction "Shell32.dll,8" correspondrait à
la 9ème icône de la DLL (numérotation commençant à 0)...

Y-a-t-il un moyen simple de connaître la correspondance entre les icônes
possibles et leur numéros ?

Merci à nouveau !

"Alain CROS" a écrit dans le message de news:
%

Bonjour.

Sub ChgIconShortcut()
Dim WshShell As Object, Link As Object, LeNom$, LeNouveauIcon$
LeNom = "LeNomduRaccourci" ' a adapter
LeNouveauIcon = "Shell32.dll,8"
Set WshShell = CreateObject("WScript.Shell")
Set Link = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop") &
"" & LeNom & ".lnk")
Link.IconLocation = LeNouveauIcon
Link.Save
Set Link = Nothing
Set WshShell = Nothing
End Sub

Sub DeleteShortCut()
Dim WshShell As Object, FSO As Object, LeNom$
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
LeNom = "LeNomduRaccourci" ' a adapter
FSO.DeleteFile WshShell.SpecialFolders("Desktop") & "" & LeNom &
".lnk"
Set FSO = Nothing
Set WshShell = Nothing
End Sub

Alain CROS

"Patrick_67" ebCoD$

Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API)
permettant
de créer un raccouci sur le bureau. Ce raccourci pointant vers un
classeur
Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick












Patrick_67
Le #2492881
Mmerci Misange pour le lien vers FaceID. Je le connaissais déjà car
j'utilise régulièrement les FaceID. Par contre, ces icônes là ne
correspondent pas aux icônes des raccourcis sur le bureau.

Une autre piste peut-être ?

"Misange"
Bonjour
regarde ici
http://www.excelabo.net/moteurs/compteclic.php?nom=icones-xl
(tape aussi icone dans le moteur d'excelabo, tu trouveras d'autres trucs
sympas)

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Le 02/05/2005 23:50, :
Rebonjour,

Si j'ai bien compris, le 8 de l'instruction "Shell32.dll,8"
correspondrait à la 9ème icône de la DLL (numérotation commençant à 0)...

Y-a-t-il un moyen simple de connaître la correspondance entre les icônes
possibles et leur numéros ?

Merci à nouveau !

"Alain CROS" a écrit dans le message de news:
%

Bonjour.

Sub ChgIconShortcut()
Dim WshShell As Object, Link As Object, LeNom$, LeNouveauIcon$
LeNom = "LeNomduRaccourci" ' a adapter
LeNouveauIcon = "Shell32.dll,8"
Set WshShell = CreateObject("WScript.Shell")
Set Link = WshShell.CreateShortcut(WshShell.SpecialFolders("Desktop")
& "" & LeNom & ".lnk")
Link.IconLocation = LeNouveauIcon
Link.Save
Set Link = Nothing
Set WshShell = Nothing
End Sub

Sub DeleteShortCut()
Dim WshShell As Object, FSO As Object, LeNom$
Set WshShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
LeNom = "LeNomduRaccourci" ' a adapter
FSO.DeleteFile WshShell.SpecialFolders("Desktop") & "" & LeNom &
".lnk"
Set FSO = Nothing
Set WshShell = Nothing
End Sub

Alain CROS

"Patrick_67" ebCoD$

Bonjour à toutes et à tous,

J'ai trouvé plusieurs procédures Excel VBA (associées à des API)
permettant
de créer un raccouci sur le bureau. Ce raccourci pointant vers un
classeur
Excel.

Excel VBA permet-il aussi :
1. d'associer une icône spécifique au raccourci ainsi créé ?
2. de supprimer un raccourci sur le bureau ?

Merci d'avance de vos réponses...

Patrick













Alain CROS
Le #2492481
Bonjour.

Essayer ça !
Fonctionne chez moi sur Win98.

Private Declare Function SHChangeIconDialog& _
Lib "shell32" Alias "#62" _
(ByVal hOwner&, ByVal szFilename$, ByVal Reserved&, ByRef lpIconIndex&)

Sub Icon_Patrick_67()
Const MAX_PATH& = 260&
Dim Fich$, IconID&, Titre$
Titre = "Fichier Icon et index"
Fich = vbNullChar & Space$(MAX_PATH) 'SHELL32.dll par défaut
IconID = 23&
If SHChangeIconDialog(0&, Fich, 0&, IconID) Then
MsgBox "Nom du fichier : " & vbNewLine & Left$(Fich, _
InStr(Fich, vbNullChar) - 1&) & vbNewLine & vbNewLine & _
"Index de l'icon :" & vbTab & IconID, vbInformation, Titre
Else
MsgBox "Opération annulée", vbCritical, Titre
End If
End Sub

Alain CROS

"Patrick_67"
Rebonjour,

Si j'ai bien compris, le 8 de l'instruction "Shell32.dll,8" correspondrait à
la 9ème icône de la DLL (numérotation commençant à 0)...

Y-a-t-il un moyen simple de connaître la correspondance entre les icônes
possibles et leur numéros ?

Merci à nouveau !



Patrick_67
Le #2492401
Merci Alain pour ce code VBA.

Cela fonctionne très bien à un détail près : l'affichage du n° d'icone est
systématiquement précédé du message d'erreur : "Impossible de trouver le
fichier +++++++++".

Ceci dit, le n° de l'icône cliquée apparaît bien ensuite...

L'idéal serait maintenant de pouvoir boucler sur toutes les icônes du
fichier afin d'en faire une liste exhaustive avec le dessin de l'icône en
1er et son Indice en 2ème.


"Alain CROS" a écrit dans le message de news:

Bonjour.

Essayer ça !
Fonctionne chez moi sur Win98.

Private Declare Function SHChangeIconDialog& _
Lib "shell32" Alias "#62" _
(ByVal hOwner&, ByVal szFilename$, ByVal Reserved&, ByRef lpIconIndex&)

Sub Icon_Patrick_67()
Const MAX_PATH& = 260&
Dim Fich$, IconID&, Titre$
Titre = "Fichier Icon et index"
Fich = vbNullChar & Space$(MAX_PATH) 'SHELL32.dll par défaut
IconID = 23&
If SHChangeIconDialog(0&, Fich, 0&, IconID) Then
MsgBox "Nom du fichier : " & vbNewLine & Left$(Fich, _
InStr(Fich, vbNullChar) - 1&) & vbNewLine & vbNewLine & _
"Index de l'icon :" & vbTab & IconID, vbInformation, Titre
Else
MsgBox "Opération annulée", vbCritical, Titre
End If
End Sub

Alain CROS

"Patrick_67"
Rebonjour,

Si j'ai bien compris, le 8 de l'instruction "Shell32.dll,8"
correspondrait à
la 9ème icône de la DLL (numérotation commençant à 0)...

Y-a-t-il un moyen simple de connaître la correspondance entre les icônes
possibles et leur numéros ?

Merci à nouveau !







Poster une réponse
Anonyme