Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Nouveau Membre du Club
    Inscrit en
    février 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : février 2007
    Messages : 127
    Points : 33
    Points
    33

    Par défaut Créer un raccourci vers un dossier

    Salut à tous,

    J'ai créé une petite application que j'utilise pour gérer des commandes. À chaque commande entrée, un dossier est créé en fonction des informations entrées dans le formulaire selon le schéma suivant :

    D:/Commande/Année/Client/Ref

    Pour ça, j'utilise le code suivant qui marche très bien :
    Code :
    MakeSureDirectoryPathExists "D:\Commande\" & DatePart("yyyy", Me.DateCommande) & "\" & Me.Client & "\" & Me.RefCommande & "\"
    Ce que je voudrais faire maintenant, c'est qu'après la création du dossier, un raccourci vers ce même dossier soit créé dans un répertoire défini, disons "Bureau\raccourci", et que le raccourci porte seulement la réf. de la commande.

    En gros, je souhaiterais avoir dans mon répertoire "raccourcis", les raccourcis vers chaque commande selon leur référence, genre:
    2012-01
    2012-02
    2012-03
    ...

    J'ai fouiné un peu partout, mais j'ai pas trouvé comment créé le raccourci souhaité...
    Quelqu'un peut-il m'aider ?

    Merci par avance !

    Guillaume

  2. #2
    Membre Expert
    Avatar de Papy Turbo
    Homme Profil pro Etienne Pailleret
    Développeur Office/VBA
    Inscrit en
    mars 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Nom : Homme Etienne Pailleret
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2004
    Messages : 812
    Points : 1 575
    Points
    1 575

    Par défaut

    Bonjour,

    je n'ai pas fouillé la FAQ ni les sources qui contiennent sûrement de quoi créer un raccourci (la honte sur moi !), mais, en bref,
    - ajoute une référence à WsShell : Windows Script Host Object Model
    Dans ta fonction,
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim WshShell as IWshRuntimeLibrary.WsShell
    Dim MyShortcut as IWshRuntimeLibrary.WshShortcut
     
        Set WsSHell = New IWshRuntimeLibrary.WsShell
        Set MyShortcut = WsShell.CreateShortcut(Emplacement & "\" & NomRaccourci & ".lnk"
        With MyShortcut
            .TargetPath = "Chemin et nom de la cible" 'le dossier ou fichier à ouvrir, l'application à lancer...
            .WorkingDirectory = "Chemin de la cible"
            '.Arguments = ... 'inutile dans ton cas
            .IconLocation = "emplacement + nom de l'icône dans ton dossier 'images'"
            'et toutes autres propriétés du raccourci...
            .Save
        End With
    - Pour l'emplacement sur le bureau, tu peux faire un GetDesktopDir()... ou GetSpecialFolders...
    - Pour le supprimer, si besoin, un simple Kill...

  3. #3
    Nouveau Membre du Club
    Inscrit en
    février 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : février 2007
    Messages : 127
    Points : 33
    Points
    33

    Par défaut Merci !

    Merci Papy Turbo !
    Après quelques petits changements, je suis enfin arrivé à obtenir ce que je voulais. J'avais effectivement déjà vu ce fameux WshShell, mais je n'avais jamais réussi à le faire marcher comme je voulais.

    Encore merci !
    Guillaume

  4. #4
    Membre Expert
    Avatar de Papy Turbo
    Homme Profil pro Etienne Pailleret
    Développeur Office/VBA
    Inscrit en
    mars 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Nom : Homme Etienne Pailleret
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2004
    Messages : 812
    Points : 1 575
    Points
    1 575

    Par défaut

    , merci, Flush : faute de frappe dans le Dim ci-dessus, remplacer [Dim WshShell] par [Dim WsShell] (ou l'inverse, pourvu que la variable ait le nom déclaré ! )
    Citation Envoyé par Papy Turbo Voir le message
    - ajoute une référence à WsShell : Windows Script Host Object Model
    Dans ta fonction,
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim WsShell as IWshRuntimeLibrary.WsShell
    Dim MyShortcut as IWshRuntimeLibrary.WshShortcut
     
        Set WsSHell = New IWshRuntimeLibrary.WsShell
        Set MyShortcut = WsShell.CreateShortcut(Emplacement & "\" & NomRaccourci & ".lnk"
        With MyShortcut
            .TargetPath = "Chemin et nom de la cible" 'le dossier ou fichier à ouvrir, l'application à lancer...
            .WorkingDirectory = "Chemin de la cible"
            '.Arguments = ... 'inutile dans ton cas
            .IconLocation = "emplacement + nom de l'icône dans ton dossier 'images', dans un .exe, etc."
            'et toutes autres propriétés du raccourci...
            .Save
        End With
    - Pour l'emplacement sur le bureau, tu peux faire un GetDesktopDir()... ou GetSpecialFolders...
    - Pour le supprimer, si besoin, un simple Kill...
    Bonnes fêtes à tous...
    Développement Office, support technique, assistance, sur place ou à distance

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •