CopyFolder en gardant l'icone personnalisée du dossier

Résolu
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 - 10 avril 2010 à 12:57
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 - 10 avril 2010 à 13:32
Bonjour à tous,

C'est tout bête, mais je n'ai pas trouvé après moultes recherches.
J'ai un répertoire au réseau dont l'icône est personnalisée (fichier desktop.ini pointant vers %SystemRoot%\system32\SHELL32.dll)
Je copie ce répertoire ailleurs sur un PC utilisateur avec fso.copyfolder dans un code VBA.
Tout va bien, le desktop.ini est bien présent dans le répertoire copié, mais l'icône personnalisée ne remonte pas...
Mais que manque-t'il donc dans mon code SVP ?

sub MajInstall()
Set fs = CreateObject("Scripting.FileSystemObject")
UserInstallExist = Dir("C:\Install", vbDirectory) 'vérifie l'existence de Install sur le PC User
If UserInstallExist = "" Then fs.copyfolder "\\Lan\Install", "C:\Install", True 'Copie Install s'il n'existe pas sur le PC User
End sub


Merci beaucoup pour toute aide

Rataxes64

1 réponse

CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
10 avril 2010 à 13:32
Re...
Ben voilà, faut chercher dans les ...archives.
Merci à
Cacophrene (http://www.vbfrance.com/codes/CREER-DOSSIER-AVEC-ICONE-PERSONNALISEE_33287.aspx)
à MasterHack (http://www.vbfrance.com/code.aspx?id=25390)
et un petit coucou à DarkSidious au passage.
j'ai pu extraire de ces sources les 2 lignes qui me manquaient.

Voila le code complet qui me garde mon icône personnalisée (desktop.ini existant) après un copyfolder

sub MajInstall()
Set fs = CreateObject("Scripting.FileSystemObject")
UserInstallExist = Dir("C:\Install", vbDirectory) 'vérifie l'existence de Install sur le PC User
If UserInstallExist = "" Then fs.copyfolder "\\Lan\Install", "C:\Install", True 'Copie Install s'il n'existe pas sur le PC User
SetAttr "C:\Install", vbSystem
SetAttr "C:\Install\Desktop.ini", vbSystem + vbHidden
End sub


En espérant vous avoir été utile, et en vous remerciant de votre lecture

Rataxes64


Rataxes64
3
Rejoignez-nous