Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Word + VBA + ChangeFileOpenDirectory

6 réponses
Avatar
Guy Lafrenière
Bonjour Groupe,

J'utilise Word 2003. Je fais une macro qui affiche automatiquement la boîte
de dialogue 'Insérer un fichier' dans un dossier prédéterminé et qui insère
le fichier choisi dans le document actif.

Les fichiers à insérer sont dans un dossier spécifique. Je veux garder en
mémoire le dossier courant avant l'exécution de la macro pour le réactiver
après. Je ne sais pas comment identifier le dossier actuellement courant.
Voici mon code. Que faut-il mettre à la place des points d'interrogation?


Public Sub InsérerFichier

Dim strCurrentDir as String

strCurrentDir = ?????

ChangeFileOpenDirectory "Nom du dossier contenant les fichiers à
insérer"
Dialogs(wdDialogInsertFile).Show

ChangeFileOpenDirectory strCurrentDir

End Sub


Merci à l'avance pour toute aide!

Guy Lafrenière

6 réponses

Avatar
heureux-oli
Salut,

Tu peux récupérer le repertoire par défaut avec

Dim strCurrentDir As String

strCurrentDir = Application.Options.DefaultFilePath(wdDocumentsPath)
....
....
ChangeFileOpenDirectory =strCurrentDir

http://word.developpez.com/faq/?page=VBA#VBA_repertoire_par_defaut


--
Heureux-oli
http://word.developpez.com/
http://word.developpez.com/faq/

----------------------------------------------------------------------------------

"Guy Lafrenière" a écrit dans le message de
news:
Bonjour Groupe,

J'utilise Word 2003. Je fais une macro qui affiche automatiquement la
boîte de dialogue 'Insérer un fichier' dans un dossier prédéterminé et qui
insère le fichier choisi dans le document actif.

Les fichiers à insérer sont dans un dossier spécifique. Je veux garder en
mémoire le dossier courant avant l'exécution de la macro pour le réactiver
après. Je ne sais pas comment identifier le dossier actuellement courant.
Voici mon code. Que faut-il mettre à la place des points d'interrogation?


Public Sub InsérerFichier

Dim strCurrentDir as String

strCurrentDir = ?????

ChangeFileOpenDirectory "Nom du dossier contenant les fichiers à
insérer"
Dialogs(wdDialogInsertFile).Show

ChangeFileOpenDirectory strCurrentDir

End Sub


Merci à l'avance pour toute aide!

Guy Lafrenière




Avatar
Guy Lafrenière
Bonjour heureux-oli,

Je te remercie pour ta réponse mais ce n'est pas tout à fait ce que je
cherche.

Si je ne me trompe pas, Application.Options.DefaultFilePath(wdDocumentsPath)
donne le dossier par défaut proposé pour l'ouverture ou l'enregistrement des
fichiers. Au moment où j'exécute ma macro, le dossier courant n'est pas
nécessairement le dossier par défaut. Supposons que j'ouvre l'un après
l'autre des documents qui sont dans un dossier autre que le dossier par
défaut pour y effectuer une opération quelconque, je veux pouvoir revenir
automatiquement dans ce dossier avec la boîte de dialogue d'ouverture des
fichiers, après l'exécution de ma macro.

Je suis preneur pour une autre suggestion. Merci à l'avance!

Guy Lafrenière



"heureux-oli" a écrit dans le message de
groupe de discussion :
Salut,

Tu peux récupérer le repertoire par défaut avec

Dim strCurrentDir As String

strCurrentDir = Application.Options.DefaultFilePath(wdDocumentsPath)
....
....
ChangeFileOpenDirectory =strCurrentDir

http://word.developpez.com/faq/?page=VBA#VBA_repertoire_par_defaut


--
Heureux-oli
http://word.developpez.com/
http://word.developpez.com/faq/

----------------------------------------------------------------------------------

"Guy Lafrenière" a écrit dans le message de
news:
Bonjour Groupe,

J'utilise Word 2003. Je fais une macro qui affiche automatiquement la
boîte de dialogue 'Insérer un fichier' dans un dossier prédéterminé et
qui insère le fichier choisi dans le document actif.

Les fichiers à insérer sont dans un dossier spécifique. Je veux garder en
mémoire le dossier courant avant l'exécution de la macro pour le
réactiver après. Je ne sais pas comment identifier le dossier
actuellement courant. Voici mon code. Que faut-il mettre à la place des
points d'interrogation?


Public Sub InsérerFichier

Dim strCurrentDir as String

strCurrentDir = ?????

ChangeFileOpenDirectory "Nom du dossier contenant les fichiers à
insérer"
Dialogs(wdDialogInsertFile).Show

ChangeFileOpenDirectory strCurrentDir

End Sub


Merci à l'avance pour toute aide!

Guy Lafrenière








Avatar
Geo
Bonjour

Je ne sais pas comment identifier le dossier actuellement courant.


CurDir ?

--
A+

Avatar
heureux-oli
Salut,

Si tu récupères le chemin du fichier que tu viens d'ouvrir, ça devrait le
faire.

ActiveDocmument.Path.

va te donner le chemin du fichier en cours d'édition.


--
Heureux-oli
http://word.developpez.com/
http://word.developpez.com/faq/

----------------------------------------------------------------------------------

"Guy Lafrenière" a écrit dans le message de
news:
Bonjour heureux-oli,

Je te remercie pour ta réponse mais ce n'est pas tout à fait ce que je
cherche.

Si je ne me trompe pas,
Application.Options.DefaultFilePath(wdDocumentsPath) donne le dossier par
défaut proposé pour l'ouverture ou l'enregistrement des fichiers. Au
moment où j'exécute ma macro, le dossier courant n'est pas nécessairement
le dossier par défaut. Supposons que j'ouvre l'un après l'autre des
documents qui sont dans un dossier autre que le dossier par défaut pour y
effectuer une opération quelconque, je veux pouvoir revenir
automatiquement dans ce dossier avec la boîte de dialogue d'ouverture des
fichiers, après l'exécution de ma macro.

Je suis preneur pour une autre suggestion. Merci à l'avance!

Guy Lafrenière



"heureux-oli" a écrit dans le message de
groupe de discussion :
Salut,

Tu peux récupérer le repertoire par défaut avec

Dim strCurrentDir As String

strCurrentDir = Application.Options.DefaultFilePath(wdDocumentsPath)
....
....
ChangeFileOpenDirectory =strCurrentDir

http://word.developpez.com/faq/?page=VBA#VBA_repertoire_par_defaut


--
Heureux-oli
http://word.developpez.com/
http://word.developpez.com/faq/

----------------------------------------------------------------------------------

"Guy Lafrenière" a écrit dans le message de
news:
Bonjour Groupe,

J'utilise Word 2003. Je fais une macro qui affiche automatiquement la
boîte de dialogue 'Insérer un fichier' dans un dossier prédéterminé et
qui insère le fichier choisi dans le document actif.

Les fichiers à insérer sont dans un dossier spécifique. Je veux garder
en mémoire le dossier courant avant l'exécution de la macro pour le
réactiver après. Je ne sais pas comment identifier le dossier
actuellement courant. Voici mon code. Que faut-il mettre à la place des
points d'interrogation?


Public Sub InsérerFichier

Dim strCurrentDir as String

strCurrentDir = ?????

ChangeFileOpenDirectory "Nom du dossier contenant les fichiers à
insérer"
Dialogs(wdDialogInsertFile).Show

ChangeFileOpenDirectory strCurrentDir

End Sub


Merci à l'avance pour toute aide!

Guy Lafrenière










Avatar
Guy Lafrenière
Bonjour Geo,<br />
<br />
C'est ce que je cherchais. Merci beaucoup!<br />
<br />
Guy Lafreni&egrave;re<br />
<br />
<br />
<br />
&quot;Geo&quot; &lt;&gt; a &eacute;crit dans le message de groupe de discussion :<br />
<br />
<blockquote class="block0"><br />
Bonjour<br />
<br />
<blockquote class="block1"><br />
Je ne sais pas comment identifier le dossier actuellement courant.<br />
<br />
</blockquote><br />
CurDir ?<br />
<br />
--<br />
A+<br />
<br />
<br />
<br />
</blockquote><br />
<br />
Avatar
Guy Lafrenière
Bonjour heureux-oli,<br />
<br />
Geo a trouv&eacute; ce que cherchais. Merci quand m&ecirc;me d'avoir pris le temps de me<br />
r&eacute;pondre. Ta suggestion pourrait m'&ecirc;tre utile dans une autre macro.<br />
<br />
Guy Lafreni&egrave;re<br />
<br />
<br />
<br />
<br />
&quot;heureux-oli&quot; &lt;&gt; a &eacute;crit dans le message de<br />
groupe de discussion : #$<br />
<blockquote class="block0"><br />
Salut,<br />
<br />
Si tu r&eacute;cup&egrave;res le chemin du fichier que tu viens d'ouvrir, &ccedil;a devrait le<br />
faire.<br />
<br />
ActiveDocument.Path.<br />
<br />
va te donner le chemin du fichier en cours d'&eacute;dition.<br />
<br />
<br />
--<br />
Heureux-oli<br />
http://word.developpez.com/<br />
http://word.developpez.com/faq/<br />
<br />
----------------------------------------------------------------------------------<br />
<br />
&quot;Guy Lafreni&egrave;re&quot; &lt;&gt; a &eacute;crit dans le message de<br />
news: <br />
<blockquote class="block1"><br />
Bonjour heureux-oli,<br />
<br />
Je te remercie pour ta r&eacute;ponse mais ce n'est pas tout &agrave; fait ce que je<br />
cherche.<br />
<br />
Si je ne me trompe pas,<br />
Application.Options.DefaultFilePath(wdDocumentsPath) donne le dossier par<br />
d&eacute;faut propos&eacute; pour l'ouverture ou l'enregistrement des fichiers. Au<br />
moment o&ugrave; j'ex&eacute;cute ma macro, le dossier courant n'est pas n&eacute;cessairement<br />
le dossier par d&eacute;faut. Supposons que j'ouvre l'un apr&egrave;s l'autre des<br />
documents qui sont dans un dossier autre que le dossier par d&eacute;faut pour y<br />
effectuer une op&eacute;ration quelconque, je veux pouvoir revenir<br />
automatiquement dans ce dossier avec la bo&icirc;te de dialogue d'ouverture des<br />
fichiers, apr&egrave;s l'ex&eacute;cution de ma macro.<br />
<br />
Je suis preneur pour une autre suggestion. Merci &agrave; l'avance!<br />
<br />
Guy Lafreni&egrave;re<br />
<br />
<br />
<br />
&quot;heureux-oli&quot; &lt;&gt; a &eacute;crit dans le message<br />
de groupe de discussion : <br />
<blockquote class="block0"><br />
Salut,<br />
<br />
Tu peux r&eacute;cup&eacute;rer le repertoire par d&eacute;faut avec<br />
<br />
Dim strCurrentDir As String<br />
<br />
strCurrentDir = Application.Options.DefaultFilePath(wdDocumentsPath)<br />
....<br />
....<br />
ChangeFileOpenDirectory =strCurrentDir<br />
<br />
http://word.developpez.com/faq/?page=VBA#VBA_repertoire_par_defaut<br />
<br />
<br />
--<br />
Heureux-oli<br />
http://word.developpez.com/<br />
http://word.developpez.com/faq/<br />
<br />
----------------------------------------------------------------------------------<br />
<br />
&quot;Guy Lafreni&egrave;re&quot; &lt;&gt; a &eacute;crit dans le message de<br />
news: <br />
<blockquote class="block1"><br />
Bonjour Groupe,<br />
<br />
J'utilise Word 2003. Je fais une macro qui affiche automatiquement la<br />
bo&icirc;te de dialogue 'Ins&eacute;rer un fichier' dans un dossier pr&eacute;d&eacute;termin&eacute; et<br />
qui ins&egrave;re le fichier choisi dans le document actif.<br />
<br />
Les fichiers &agrave; ins&eacute;rer sont dans un dossier sp&eacute;cifique. Je veux garder<br />
en m&eacute;moire le dossier courant avant l'ex&eacute;cution de la macro pour le<br />
r&eacute;activer apr&egrave;s. Je ne sais pas comment identifier le dossier<br />
actuellement courant. Voici mon code. Que faut-il mettre &agrave; la place des<br />
points d'interrogation?<br />
<br />
<br />
Public Sub Ins&eacute;rerFichier<br />
<br />
Dim strCurrentDir as String<br />
<br />
strCurrentDir = ?????<br />
<br />
ChangeFileOpenDirectory &quot;Nom du dossier contenant les fichiers &agrave;<br />
ins&eacute;rer&quot;<br />
Dialogs(wdDialogInsertFile).Show<br />
<br />
ChangeFileOpenDirectory strCurrentDir<br />
<br />
End Sub<br />
<br />
<br />
Merci &agrave; l'avance pour toute aide!<br />
<br />
Guy Lafreni&egrave;re<br />
<br />
<br />
<br />
</blockquote><br />
<br />
<br />
</blockquote><br />
</blockquote><br />
<br />
<br />
</blockquote><br />
<br />
<br />
<br />