Bonjour,
je ne me rappelle plus le code qu'il faut écrire pour qu'un bouton dans un formulaire ouvre un fichier word ?
Merci !
Bonjour,
je ne me rappelle plus le code qu'il faut écrire pour qu'un bouton dans un formulaire ouvre un fichier word ?
Merci !
J'ai déjà créé le bouton et dit que je voulais y rattacher un fichier word donc j'ai déjà ça d'écrit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Private Sub Procédure_à_suivre_Click() On Error GoTo Err_Procédure_à_suivre_Click Dim oApp As Object Set oApp = CreateObject("Word.Application") oApp.Visible = True Exit_Procédure_à_suivre_Click: Exit Sub Err_Procédure_à_suivre_Click: MsgBox Err.Description Resume Exit_Procédure_à_suivre_Click End Sub
bonjour,
dès que tu auras arrêter l'enregistrement de la macro, tu verrras le code généré par l'action d'enregistrement dans le Vba word. A toi d'adapter ce code dans le vba de ta base access en liant ce qui a été généré à ton objet oApp.
- tu vas dans word
- tu fais "enregistrer macro"
- puis tu exécute fichier ouvrir sur un document.
cette technique est la plus simple pour toutes les fonctions que tu voudras utiliser dans Word, piloté dans un autre VBA.
c'est d'ailleurs dommage que microsoft n'est jamais prévu une fonction enregistrer sous pour les macro access ==> celà aurait aider beaucoup d'utilisateurs débutants
salut cuterate et Jack78960,
si c'est pour uniquement ouvrir le document:
sinon:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Shell "Winword.EXE c:\monFichier.doc"
Code : Sélectionner tout - Visualiser dans une fenêtre à part oApp.Documents.Open ("c:\monfichier.doc")
j'ai essayé ca, ca me dit :
variable objet ou variable de bloc with non défini
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Private Sub Procédure_a_suivre_Click() On Error GoTo Err_Procédure_a_suivre_Click Dim oApp As Object oApp.Documents.Open ("chemin du document.doc") oApp.Visible = True Exit_Procédure_a_suivre_Click: Exit Sub Err_Procédure_a_suivre_Click: MsgBox Err.Description Resume Exit_Procédure_a_suivre_Click End Sub
ensuite j'ai essayé ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Private Sub Procédure_a_suivre_Click() On Error GoTo Err_Procédure_a_suivre_Click Shell "Winword.EXE chemin du doc" Exit_Procédure_a_suivre_Click: Exit Sub Err_Procédure_a_suivre_Click: MsgBox Err.Description Resume Exit_Procédure_a_suivre_Click End Sub
ca a presque ouvert le fichier, et ça m'a dit :
word a rencontré une erreur lors de l'ouverture du fichier
essayez de :
-vérifier les autorisations
-vérifier que la mémoire et l'espace disque sont suffisants
-ouvrir le fichier avec le convertisseur récupération de texte
tu as une autre astuce ?
bonjour Jack78960,
excuse moi pauvre petite débutante (d'ailleurs je crois que je garderai mon niveau à jamais lol)mais je ne vois pas bien comment ton astuce peut fonctionner.
toi tu es dans word et tu demandes à ouvrir un fichier spécifique word
moi je suis dans access et je veux qu'il ouvre word et qu'il m'ouvre mon fichier spécifique
j'ai essayé et ca a écrit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub ouvrirFichier() ' ' ouvrirFichier Macro ' ' ChangeFileOpenDirectory _ "chemin" Documents.Open FileName:= _ """nom du doc.doc""", ConfirmConversions:= _ False, ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _ PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _ WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:="" End Sub
pour le shell:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim oApp As Object Set oApp = CreateObject("Word.Application") oApp.Visible = True oApp.Documents.Open ("chemin du document.doc")
"word a rencontré une erreur lors de l'ouverture du fichier"
là c'est pas la faute de la commande... essais avec d'autres fichiers.
pourtant il est clair:Envoyé par Jack78960
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 oApp.Documents.Open FileName:= _ """nom du doc.doc""", ConfirmConversions:= _ False, ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _ PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _ WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:=""
ca ne pourra jamais fonctionner je pense parce que mon fichier est dans dossier commun qui a pour nom "DAF Controle de gestion" sans "_" entre les mots et il me semble qu'access arrete de chercher le fichier si il n'y a plus de caractères....
Merci quand meme je prends note des différents codes pour quand je travaillerai dans une boite qui nommera ses dossiers partagés sans espaces !!
Par contre je cherche toujours à ouvrir une table access par l'intermédiaire du formulaire...
bouton-ouvrir-fichier-word-table-formulaire/#post3637175
, je comprends pas.il me semble qu'access arrete de chercher le fichier si il n'y a plus de caractères....
je ne vois pas le pb, access peut ouvrir avec de nom de chemin et fichier long (même avec des espaces).
Vodiem,
Tu ne comprends pas ce que je dis ou tu es sur et certain qu'access ouvrir normalement mon fichier word meme s'il y a des espaces entre les mots ?
si oui alors quel est le code que tu utilises pour ouvrir un fichier word ?
par exemple:
=> le nom de fichier long doivent être mis entre guillemets.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Shell "Winword.EXE ""c:\Mes Docs\mon fichier document que j'essaie d'ouvrir.doc"""
(il faut doubler les guillemets lorsqu'ils sont à l'intérieur de guillemets)
bonjour,
j'utilise tous les jours çà :
et comme tu peux voir il y a des espaces.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub Commande9_Click() Dim strFichier As String Dim objWord As New Word.Application strFichier = "C:\ADMR\GESTION\ENTETE COURRIER.doc" ' ouvrir un document Word objWord.Documents.Open strFichier ' rendre Word visible objWord.Visible = True End Sub
salut,
excuse moi-de ne pas t'avoir donné plus d'informations.
je t'ai donné la méthodologie pour travailler en mode "automation".
Sur les outils office qui possède la fonction enregistement macro (Word Excel) il n'est pas nécessaires de connaitres les instructions du langage appelé.
Dans ton cas,est le résultat attendu. par contre le fait d'avoir generé la méthode par une macro te permet de voir tous les paramètres de la méthode utilisé par Word, avec les valeurs par défaut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part oApp.Documents.open "Nom complet du fichier"
Bien sur le générateur de macro est très bavard (comme moi d'ailleurs). Dans le cas que tu énonces, la macro commence par positionner le répertoire par défaut de Word sur le répertoire ou se situe ton fichier.
La deuxième "Fonction" effectue "Documents.open" et, en plus, te montre toutes les paramètres disponibles.
Word à en plus l'avantages de te montrer ces paramètres en "Argument Només" exemple FileName:= """nom du doc.doc""". Il te le propose dans l'odre où les paramètres doivent êtres passées ==> Dans access les arguments ne seront pas "Nommés", il faut donc passer les paramètres dans l'ordre sans le nom de l'argument.
Exemple: si tu veux ouvrir ton document en lecture seule tu ecrirais
ou encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part oApp.Documents.Open """c:\données\nom du doc.doc""", False, Trueles 3 double-quotes autour du nom de fichier permet l'utilisation de <blanc> dans le nom du fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part oApp.Documents.Open """c:\données\nom du doc.doc""", , True
Pour la méthode "Open" de la collection "Documents", seul le premier paramètre "FileName" est obligatoire.
J'espère ne pas t'avoir noyé sous mes explications
Cette réponse est plus particulièrement destinée à Vodiem
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager