2011-02-09 4 views
2

Je construis un système de gestion de documents. Dans chaque sous-répertoire du référentiel de documents principal, il existe un raccourci vers un modèle de document. Lorsqu'un utilisateur souhaite créer un nouveau document, il accède au sous-répertoire approprié du document et clique sur le raccourci.Comment utiliser VBA pour obtenir le chemin du fichier vers un raccourci à partir duquel ActiveDocument a été lancé?

Lorsque l'utilisateur clique sur le raccourci, MS Word est lancé, affichant le nouveau document basé sur le modèle. Lorsque l'utilisateur clique sur Enregistrer, le document sera normalement enregistré dans le répertoire en cours qui sera l'emplacement par défaut pour les nouveaux documents spécifiés dans Options Word.

Je souhaite que le répertoire actuel d'un nouveau document soit identique au répertoire du raccourci à partir duquel il a été créé. L'utilisateur a déjà décidé où le document doit être localisé en naviguant vers le sous-répertoire approprié et en cliquant sur le raccourci. Il ne devrait pas être nécessaire pour l'utilisateur de retrouver le même emplacement dans le dialogue Enregistrer sous ....

Si je peux obtenir le chemin d'accès au raccourci, je peux enregistrer par programme le document dans le même répertoire ou dans un nouveau sous-répertoire.

Également demandé sur MSDN VBA Forum et sur VBA Express.

Répondre

1

Je ne pense pas que vous allez être en mesure de le faire sans faire quelques bidouillages terrible autour de la pêche au chalut du système de fichiers (j'ai eu un encéphalogramme sur la propriété « Démarrer dans » du raccourci, mais malheureusement cela n'a pas fonctionné).

Malheureusement je pense que la meilleure solution pourrait être de se débarrasser des raccourcis et juste avoir beaucoup de copies du modèle de document traînant.

Chris

+0

Merci, Chris. Je pense que je devrais juste changer la procédure pour permettre à l'utilisateur de parcourir le répertoire via la boîte de dialogue Enregistrer sous. – systemovich

0

Peut-être que cela?

Public Sub OriginalPath() 

    Debug.Print TemplateProject.ThisDocument.Path 

End Sub 
+0

Merci, mais il imprimera le chemin du modèle et non pas au raccourci. Peut-être que l'on pourrait interroger le journal du système. – systemovich

+0

Vous avez le problème maintenant, mon mauvais. –

Questions connexes