none
Copier une palette de couleurs (.xml) au bon emplacement par VBA RRS feed

  • Question

  • Bonjour,

    J'ai créé une palette de couleurs : MaPalette.xml

    Comment copier dynamiquement ce fichier au bon endroit sur le poste par VBA ???

    J'ai bien recherché du coté des "dossiers spéciaux" mais je n'ai rien trouvé de concluant...

    Merci d'avance pour votre aide

    vendredi 13 décembre 2013 07:03

Toutes les réponses

  • Bonjour

    La solution c’est d’utiliser WScript.Shell:

    Dim strPath As String
       Set WshShell = CreateObject("WScript.Shell")
      strDocuments = WshShell.SpecialFolders("MyDocuments")
       strPath = WshShell.SpecialFolders("Desktop")
    
    Ici vous avez les string :

    http://msdn.microsoft.com/en-us/library/0ea7b5xe.aspx

    Cordialement,

    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    vendredi 13 décembre 2013 07:17
  • Merci pour la piste WScript.Shell, mais ce n'est pas suffisant, il me semble pour placer la palette couleur Office.

    Les dossiers retournés par WScript.Shell sont:

    AllUsersDesktop = C:\Documents and Settings\All Users\Bureau
    AllUsersStartMenu = C:\Documents and Settings\All Users\Menu Démarrer
    AllUsersPrograms = C:\Documents and Settings\All Users\Menu Démarrer\Programmes
    AllUsersStartup = C:\Documents and Settings\All Users\Menu Démarrer\Programmes\Démarrage
    Desktop = C:\Documents and Settings\nomUtilisateur\Bureau
    Fonts = C:\WINDOWS\Fonts
    MyDocuments = D:\Documents\nomUtilisateur\Mes documents
    NetHood = C:\Documents and Settings\nomUtilisateur\Voisinage réseau
    PrintHood = C:\Documents and Settings\nomUtilisateur\Voisinage d'impression
    Programs = C:\Documents and Settings\nomUtilisateur\Menu Démarrer\Programmes
    Recent = C:\Documents and Settings\nomUtilisateur\Recent
    SendTo = C:\Documents and Settings\nomUtilisateur\SendTo
    StartMenu = C:\Documents and Settings\nomUtilisateur\Menu Démarrer
    Startup = C:\Documents and Settings\nomUtilisateur\Menu Démarrer\Programmes\Démarrage
    Templates = C:\Documents and Settings\nomUtilisateur\Modèles

    Or il faudrait que j'accède au répertoire d'Office des palettes couleurs.

    Sous Windows XP et Office 2007 c'est:

    C:\Documents and Settings\nomUtilisateur\Application Data\Microsoft\Templates\Document Themes\Theme Colors

    Comment faire ???? Il y a surement un moyen ?

    vendredi 13 décembre 2013 08:15
  • Dans ce cas je dirais que la solution c'est de le récupérer des registres ou recomposer le chemin implicite.

    Voir cet article pour Office 2007:

    http://support.microsoft.com/kb/924460

    Et ici vous avez un exemple sur comment vous pouvez lire/écrire dans la base des registres.

    http://www.slipstick.com/developer/read-and-change-a-registry-key-using-vba/

    les cles :

    HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\General

    UserTemplates et SharedTemplates.

    Ces valeurs de chaînes n'existent pas ; elles sont créées lorsque vous apportez une modification aux emplacements par défaut pour vos modèles personnalisés. Par défaut, tous les programmes Office 2007 recherchent leurs modèles installés. Par conséquent, aucune valeur de chaîne n'est requise pour les programmes Office 2007.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.


    • Modifié Aurel Bera vendredi 13 décembre 2013 09:05
    vendredi 13 décembre 2013 08:47
  • Merci pour la piste.

    Comme mon programme n'est à la base qu'une "macro" Office, et pas un gros projet VBNet, je vais cependant essayer de trouver plus simple...

    mardi 24 décembre 2013 07:26