VBA : ChangeFileOpenDirectory ne fonctionne pas bien
18 réponses
Souriane
Bonjour,
Quelqu=92un peut-il m=92aider avec ce probl=E8me d=92ouverture de bo=EEte d=
e
dialogue!
La macro suivante ne fonctionne pas du premier coup:
ChangeFileOpenDirectory "z:\temp\"
Application.Dialogs(wdDialogFileOpen).Show
Elle ouvre dans =93Mes Documents=94. Que je fasse la m=EAme macro avec
n=92importe quel r=E9pertoire, c=92est toujours =AB Mes Documents =BB qui e=
st
ouvert. Cependant, si je vais manuellement dans n=92importe quel de mes
r=E9pertoires et ouvre un document, le referme et ex=E9cute la macro.
Tout est beau, =E7a fonctionne maintenant! Si je ferme Word et le
r=E9ouvre, la macro fonctionne encore. Si je ferme ma session Windows,
reviens dans Windows, ouvre Word, =E7a fonctionne plus.
Pourtant, si je fais la macro suivante, elle fonctionne tr=E8s bien =E0
tout coup n=92importe quand :
ChangeFileOpenDirectory "z:\temp\"
Documents.Open FileName:=3D"test.doc", ConfirmConversions:=3DTrue,
ReadOnly _
:=3DFalse, AddToRecentFiles:=3DFalse, PasswordDocument:=3D"",
PasswordTemplate _
:=3D"", Revert:=3DFalse, WritePasswordDocument:=3D"",
WritePasswordTemplate:=3D"" _
, Format:=3DwdOpenFormatAuto
Ca marche bien. A l'occasion j'essaierai avec 2003, mais ce ne serait pas le premier bogue qui ait été corrigé en Vba 2007.
Sinon vous pourriez essayer en utilisant : Options.DefaultFilePath(wdDocumentsPath) = "z:temp"
Pour le faire proprement, il faudrait sauvegarder la valeur courante en début de macro et la restituer à la fin.
-- A+
Geo
Re
La macro suivante ne fonctionne pas du premier coup: ChangeFileOpenDirectory "z:temp" Application.Dialogs(wdDialogFileOpen).Show
Elle ouvre dans “Mes Documents”. Que je fasse la même macro avec n’importe quel répertoire, c’est toujours « Mes Documents » qui est ouvert. Cependant, si je vais manuellement dans n’importe quel de mes répertoires et ouvre un document, le referme et exécute la macro. Tout est beau, ça fonctionne maintenant! Si je ferme Word et le réouvre, la macro fonctionne encore. Si je ferme ma session Windows, reviens dans Windows, ouvre Word, ça fonctionne plus.
Je viens de faire des essais avec 2003, ça fonctionne bien. Apparemment il y a des cas qui posent problème et qui ramènent sur mes Documents, par exemple d'essayer d'ouvrir un lecteur vide (lecteur de cartes mémoires) sinon ça se passe bien. Vous avez une gestion d'erreur active ? On error .... ?
[ Cette réponse est faite sur le forum public Word : news://msnews.microsoft.com/microsoft.public.fr.word ]
-- A+
Re
La macro suivante ne fonctionne pas du premier coup:
ChangeFileOpenDirectory "z:temp"
Application.Dialogs(wdDialogFileOpen).Show
Elle ouvre dans “Mes Documents”. Que je fasse la même macro avec
n’importe quel répertoire, c’est toujours « Mes Documents » qui est
ouvert. Cependant, si je vais manuellement dans n’importe quel de mes
répertoires et ouvre un document, le referme et exécute la macro.
Tout est beau, ça fonctionne maintenant! Si je ferme Word et le
réouvre, la macro fonctionne encore. Si je ferme ma session Windows,
reviens dans Windows, ouvre Word, ça fonctionne plus.
Je viens de faire des essais avec 2003, ça fonctionne bien.
Apparemment il y a des cas qui posent problème et qui ramènent sur mes
Documents, par exemple d'essayer d'ouvrir un lecteur vide (lecteur de
cartes mémoires) sinon ça se passe bien.
Vous avez une gestion d'erreur active ?
On error .... ?
[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]
La macro suivante ne fonctionne pas du premier coup: ChangeFileOpenDirectory "z:temp" Application.Dialogs(wdDialogFileOpen).Show
Elle ouvre dans “Mes Documents”. Que je fasse la même macro avec n’importe quel répertoire, c’est toujours « Mes Documents » qui est ouvert. Cependant, si je vais manuellement dans n’importe quel de mes répertoires et ouvre un document, le referme et exécute la macro. Tout est beau, ça fonctionne maintenant! Si je ferme Word et le réouvre, la macro fonctionne encore. Si je ferme ma session Windows, reviens dans Windows, ouvre Word, ça fonctionne plus.
Je viens de faire des essais avec 2003, ça fonctionne bien. Apparemment il y a des cas qui posent problème et qui ramènent sur mes Documents, par exemple d'essayer d'ouvrir un lecteur vide (lecteur de cartes mémoires) sinon ça se passe bien. Vous avez une gestion d'erreur active ? On error .... ?
[ Cette réponse est faite sur le forum public Word : news://msnews.microsoft.com/microsoft.public.fr.word ]
-- A+
guyguy
Bonjour Groupe,
Le hasard fait parfois bien les choses. Je m'apprêtais à soumettre le même problème quand je suis tombé sur le message de Souriane.
Il semble effectivement y avoir un bug avec Word 2003. J'ai essayé la suggestion de Geo et ça fonctionne.
Voici mon code.
Public Sub InsererDocumentation
' Ouvrir le dossier Documentation pour insérer un fichier à la position du curseur.
Quelqu’un peut-il m’aider avec ce problème d’ouverture de boîte de dialogue!
La macro suivante ne fonctionne pas du premier coup: ChangeFileOpenDirectory "z:temp" Application.Dialogs(wdDialogFileOpen).Show
Elle ouvre dans “Mes Documents”. Que je fasse la même macro avec n’importe quel répertoire, c’est toujours « Mes Documents » qui est ouvert. Cependant, si je vais manuellement dans n’importe quel de mes répertoires et ouvre un document, le referme et exécute la macro. Tout est beau, ça fonctionne maintenant! Si je ferme Word et le réouvre, la macro fonctionne encore. Si je ferme ma session Windows, reviens dans Windows, ouvre Word, ça fonctionne plus.
Pourtant, si je fais la macro suivante, elle fonctionne très bien à tout coup n’importe quand : ChangeFileOpenDirectory "z:temp" Documents.Open FileName:="test.doc", ConfirmConversions:=True, ReadOnly _ :úlse, AddToRecentFiles:úlse, PasswordDocument:="", PasswordTemplate _ :="", Revert:úlse, WritePasswordDocument:="", WritePasswordTemplate:="" _ , Format:=wdOpenFormatAuto
Avez-vous des suggestions?
J’ai Word 2003 Je travaille en réseau.
Merci!
Guylaine
Bonjour Groupe,
Le hasard fait parfois bien les choses. Je m'apprêtais à soumettre le même
problème quand je suis tombé sur le message de Souriane.
Il semble effectivement y avoir un bug avec Word 2003. J'ai essayé la
suggestion de Geo et ça fonctionne.
Voici mon code.
Public Sub InsererDocumentation
' Ouvrir le dossier Documentation pour insérer un fichier à la position
du curseur.
"Souriane" <jsouriane@videotron.ca> a écrit dans le message de news:
b14d015b-4e3c-483f-b68f-4aaf7f096272@z7g2000vbh.googlegroups.com...
Bonjour,
Quelqu’un peut-il m’aider avec ce problème d’ouverture de boîte de
dialogue!
La macro suivante ne fonctionne pas du premier coup:
ChangeFileOpenDirectory "z:temp"
Application.Dialogs(wdDialogFileOpen).Show
Elle ouvre dans “Mes Documents”. Que je fasse la même macro avec
n’importe quel répertoire, c’est toujours « Mes Documents » qui est
ouvert. Cependant, si je vais manuellement dans n’importe quel de mes
répertoires et ouvre un document, le referme et exécute la macro.
Tout est beau, ça fonctionne maintenant! Si je ferme Word et le
réouvre, la macro fonctionne encore. Si je ferme ma session Windows,
reviens dans Windows, ouvre Word, ça fonctionne plus.
Pourtant, si je fais la macro suivante, elle fonctionne très bien à
tout coup n’importe quand :
ChangeFileOpenDirectory "z:temp"
Documents.Open FileName:="test.doc", ConfirmConversions:=True,
ReadOnly _
:úlse, AddToRecentFiles:úlse, PasswordDocument:="",
PasswordTemplate _
:="", Revert:úlse, WritePasswordDocument:="",
WritePasswordTemplate:="" _
, Format:=wdOpenFormatAuto
Quelqu’un peut-il m’aider avec ce problème d’ouverture de boîte de dialogue!
La macro suivante ne fonctionne pas du premier coup: ChangeFileOpenDirectory "z:temp" Application.Dialogs(wdDialogFileOpen).Show
Elle ouvre dans “Mes Documents”. Que je fasse la même macro avec n’importe quel répertoire, c’est toujours « Mes Documents » qui est ouvert. Cependant, si je vais manuellement dans n’importe quel de mes répertoires et ouvre un document, le referme et exécute la macro. Tout est beau, ça fonctionne maintenant! Si je ferme Word et le réouvre, la macro fonctionne encore. Si je ferme ma session Windows, reviens dans Windows, ouvre Word, ça fonctionne plus.
Pourtant, si je fais la macro suivante, elle fonctionne très bien à tout coup n’importe quand : ChangeFileOpenDirectory "z:temp" Documents.Open FileName:="test.doc", ConfirmConversions:=True, ReadOnly _ :úlse, AddToRecentFiles:úlse, PasswordDocument:="", PasswordTemplate _ :="", Revert:úlse, WritePasswordDocument:="", WritePasswordTemplate:="" _ , Format:=wdOpenFormatAuto
Avez-vous des suggestions?
J’ai Word 2003 Je travaille en réseau.
Merci!
Guylaine
Geo
Bonjour Guyguy
Le hasard fait parfois bien les choses. Je m'apprêtais à soumettre le même problème quand je suis tombé sur le message de Souriane.
Comme ça vous remettez la maison dans l'état où vous l'avez trouvée.
Merci à Geo!
Deux heureux pour le prix d'un(e) on en redemande !
[ Cette réponse est faite sur le forum public Word : news://msnews.microsoft.com/microsoft.public.fr.word ]
-- A+
heureux-oli
Salut,
J'ai une autre proposition qui ne change pas l'option de Word.
Mais ça reste une question de goût.
Pour ouvrir des fichiers, j'utlise l'objet FileDialog qui fonctionne depuis 2003. si elle n'est pas active, il faut ajouter la référence Office au projet.
'************************************************ Sub OuvrirDoc() Dim oDlg As FileDialog
Set oDlg = Application.FileDialog(msoFileDialogFilePicker)
With oDlg .InitialFileName = "C:Temp" .Show End With
Debug.Print oDlg.SelectedItems(1) Set oDlg = Nothing
End Sub '************************************************
Comme ça vous remettez la maison dans l'état où vous l'avez trouvée.
Merci à Geo!
Deux heureux pour le prix d'un(e) on en redemande !
[ Cette réponse est faite sur le forum public Word : news://msnews.microsoft.com/microsoft.public.fr.word ]
-- A+
Salut,
J'ai une autre proposition qui ne change pas l'option de Word.
Mais ça reste une question de goût.
Pour ouvrir des fichiers, j'utlise l'objet FileDialog qui fonctionne depuis
2003.
si elle n'est pas active, il faut ajouter la référence Office au projet.
'************************************************
Sub OuvrirDoc()
Dim oDlg As FileDialog
Set oDlg = Application.FileDialog(msoFileDialogFilePicker)
With oDlg
.InitialFileName = "C:Temp"
.Show
End With
Debug.Print oDlg.SelectedItems(1)
Set oDlg = Nothing
End Sub
'************************************************
--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/
J'ai une autre proposition qui ne change pas l'option de Word.
Mais ça reste une question de goût.
Pour ouvrir des fichiers, j'utlise l'objet FileDialog qui fonctionne depuis 2003. si elle n'est pas active, il faut ajouter la référence Office au projet.
'************************************************ Sub OuvrirDoc() Dim oDlg As FileDialog
Set oDlg = Application.FileDialog(msoFileDialogFilePicker)
With oDlg .InitialFileName = "C:Temp" .Show End With
Debug.Print oDlg.SelectedItems(1) Set oDlg = Nothing
End Sub '************************************************
Comme ça vous remettez la maison dans l'état où vous l'avez trouvée.
Merci à Geo!
Deux heureux pour le prix d'un(e) on en redemande !
[ Cette réponse est faite sur le forum public Word : news://msnews.microsoft.com/microsoft.public.fr.word ]
-- A+
Geo
Bonjour
Pour ouvrir des fichiers, j'utlise l'objet FileDialog qui fonctionne depuis 2003. si elle n'est pas active, il faut ajouter la référence Office au projet.
Tu as raison, cette fonction offre de nombreuses possibilités. Curieusement elle n'est disponible, sauf erreur de ma part, que dans Word alors qu'elle est référencée dans "Office".
-- A+
Bonjour
Pour ouvrir des fichiers, j'utlise l'objet FileDialog qui fonctionne depuis 2003.
si elle n'est pas active, il faut ajouter la référence Office au projet.
Tu as raison, cette fonction offre de nombreuses possibilités.
Curieusement elle n'est disponible, sauf erreur de ma part, que dans
Word alors qu'elle est référencée dans "Office".
Pour ouvrir des fichiers, j'utlise l'objet FileDialog qui fonctionne depuis 2003. si elle n'est pas active, il faut ajouter la référence Office au projet.
Tu as raison, cette fonction offre de nombreuses possibilités. Curieusement elle n'est disponible, sauf erreur de ma part, que dans Word alors qu'elle est référencée dans "Office".
-- A+
heureux-oli
Salut Geo,
Je viens de faire un essai et sous 2007, on peut l'utiliser avec d'autres applications de la suite.
Et ça fonctionne aussi sous Excel 2003.
Mais il faut ajouter la référence à Microsoft Office xx.0 Object Library, chose qui n'est pas par défaut avant 2007.
Pour ouvrir des fichiers, j'utlise l'objet FileDialog qui fonctionne depuis 2003. si elle n'est pas active, il faut ajouter la référence Office au projet.
Tu as raison, cette fonction offre de nombreuses possibilités. Curieusement elle n'est disponible, sauf erreur de ma part, que dans Word alors qu'elle est référencée dans "Office".
-- A+
Salut Geo,
Je viens de faire un essai et sous 2007, on peut l'utiliser avec d'autres
applications de la suite.
Et ça fonctionne aussi sous Excel 2003.
Mais il faut ajouter la référence à Microsoft Office xx.0 Object Library,
chose qui n'est pas par défaut avant 2007.
--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/
"Geo" <Geo@sans.pub> a écrit dans le message de news:
mn.61a87d9527979611.41568@sans.pub...
Bonjour
Pour ouvrir des fichiers, j'utlise l'objet FileDialog qui fonctionne
depuis 2003.
si elle n'est pas active, il faut ajouter la référence Office au projet.
Tu as raison, cette fonction offre de nombreuses possibilités.
Curieusement elle n'est disponible, sauf erreur de ma part, que dans Word
alors qu'elle est référencée dans "Office".
Pour ouvrir des fichiers, j'utlise l'objet FileDialog qui fonctionne depuis 2003. si elle n'est pas active, il faut ajouter la référence Office au projet.
Tu as raison, cette fonction offre de nombreuses possibilités. Curieusement elle n'est disponible, sauf erreur de ma part, que dans Word alors qu'elle est référencée dans "Office".
-- A+
Geo
Bonjour
Je viens de faire un essai et sous 2007, on peut l'utiliser avec d'autres applications de la suite.
Et ça fonctionne aussi sous Excel 2003.
Mais il faut ajouter la référence à Microsoft Office xx.0 Object Library, chose qui n'est pas par défaut avant 2007.
Tu as raison, ça marche aussi dans PowerPoint. J'ai du confondre.
-- A+
Bonjour
Je viens de faire un essai et sous 2007, on peut l'utiliser avec d'autres applications
de la suite.
Et ça fonctionne aussi sous Excel 2003.
Mais il faut ajouter la référence à Microsoft Office xx.0 Object Library, chose qui
n'est pas par défaut avant 2007.
Tu as raison, ça marche aussi dans PowerPoint.
J'ai du confondre.
Je viens de faire un essai et sous 2007, on peut l'utiliser avec d'autres applications de la suite.
Et ça fonctionne aussi sous Excel 2003.
Mais il faut ajouter la référence à Microsoft Office xx.0 Object Library, chose qui n'est pas par défaut avant 2007.
Tu as raison, ça marche aussi dans PowerPoint. J'ai du confondre.
-- A+
guyguy
Bonjour heureux-oli,
Merci pour ta sugggestion.
Ma macro sert à insérer un fichier à la position du curseur dans le document en cours et non pas à ouvrir un fichier. Je me demande si ta suggestion est encore appropriée.
Merci!
"heureux-oli" a écrit dans le message de news:
Salut,
J'ai une autre proposition qui ne change pas l'option de Word.
Mais ça reste une question de goût.
Pour ouvrir des fichiers, j'utlise l'objet FileDialog qui fonctionne depuis 2003. si elle n'est pas active, il faut ajouter la référence Office au projet.
'************************************************ Sub OuvrirDoc() Dim oDlg As FileDialog
Set oDlg = Application.FileDialog(msoFileDialogFilePicker)
With oDlg .InitialFileName = "C:Temp" .Show End With
Debug.Print oDlg.SelectedItems(1) Set oDlg = Nothing
End Sub '************************************************
Comme ça vous remettez la maison dans l'état où vous l'avez trouvée.
Merci à Geo!
Deux heureux pour le prix d'un(e) on en redemande !
[ Cette réponse est faite sur le forum public Word : news://msnews.microsoft.com/microsoft.public.fr.word ]
-- A+
Bonjour heureux-oli,
Merci pour ta sugggestion.
Ma macro sert à insérer un fichier à la position du curseur dans le document
en cours et non pas à ouvrir un fichier. Je me demande si ta suggestion est
encore appropriée.
Merci!
"heureux-oli" <yyy.heureux-oli@hotmail.yyy> a écrit dans le message de news:
Ongualn0JHA.1712@TK2MSFTNGP03.phx.gbl...
Salut,
J'ai une autre proposition qui ne change pas l'option de Word.
Mais ça reste une question de goût.
Pour ouvrir des fichiers, j'utlise l'objet FileDialog qui fonctionne
depuis 2003.
si elle n'est pas active, il faut ajouter la référence Office au projet.
'************************************************
Sub OuvrirDoc()
Dim oDlg As FileDialog
Set oDlg = Application.FileDialog(msoFileDialogFilePicker)
With oDlg
.InitialFileName = "C:Temp"
.Show
End With
Debug.Print oDlg.SelectedItems(1)
Set oDlg = Nothing
End Sub
'************************************************
--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/
Ma macro sert à insérer un fichier à la position du curseur dans le document en cours et non pas à ouvrir un fichier. Je me demande si ta suggestion est encore appropriée.
Merci!
"heureux-oli" a écrit dans le message de news:
Salut,
J'ai une autre proposition qui ne change pas l'option de Word.
Mais ça reste une question de goût.
Pour ouvrir des fichiers, j'utlise l'objet FileDialog qui fonctionne depuis 2003. si elle n'est pas active, il faut ajouter la référence Office au projet.
'************************************************ Sub OuvrirDoc() Dim oDlg As FileDialog
Set oDlg = Application.FileDialog(msoFileDialogFilePicker)
With oDlg .InitialFileName = "C:Temp" .Show End With
Debug.Print oDlg.SelectedItems(1) Set oDlg = Nothing
End Sub '************************************************