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

Démarrer un fichier Word à partir d'un forms

10 réponses
Avatar
Olgga
Bonjour à tous,
Je dispose d'une table dont chaque enregistrement est composé d'un champ
texte et d'un champ objet OLE (fichier Word)
Je souhaite à partir d'un formulaire sur lequel apparaît le champ texte
ouvrir l'objet OLE associé par l'intermédiaire d'un bouton
Sauriez-vous m'aider dans la macro (ou le code) à prescrire à ce bouton ?
Merci beaucoup.

10 réponses

Avatar
Olgga
Je me suis peut-être mal exprimé....

J'ai créé une table avec :
- un champ texte
- un champ Objet OLE

Je cherche à construire une macro (qui me servira dans un bouton de
formulaire)
pour ouvrir l'objet OLE (c'est un fichier Word).


SélectionnerObjet (je sélectionne ma table)
OuvrirTable (j'ouvre ma table)
AtteindreContrôle (je me positionne sur le champ Objet OLE de ma table)

et là je suis coincé car je voudrais ouvrir l'objet OLE !!

merci de votre aide


"Olgga" a écrit dans le message de
news:e%
Bonjour à tous,
Je dispose d'une table dont chaque enregistrement est composé d'un champ
texte et d'un champ objet OLE (fichier Word)
Je souhaite à partir d'un formulaire sur lequel apparaît le champ texte
ouvrir l'objet OLE associé par l'intermédiaire d'un bouton
Sauriez-vous m'aider dans la macro (ou le code) à prescrire à ce bouton ?
Merci beaucoup.




Avatar
Eric
Bonjour,

Pourquoi ne pas faire un formulaire sur cette table, mettre les 2
champs, définir la propriété Visible du Champ OLE à NON, (réduire la
taille du controle) puis un bouton de commande (Commande1) avec une
procédure évènementielle :
Private Sub Commande1_Click()
If Not IsNull(Me.LeChampOLE) Then ' adapter le nom du champ
Me.LeChampOLE.Verb = acOLEVerbOpen
Me.LeChampOLE.Action = acOLEActivate
End If
End Sub


Ceci dit, avec des champs OLE, la taille de ta base va considérablement
augmenter. Pourquoi ne pas stocker seulement le chemin des documents et
utiliser la commande Shell (voir dans l'aide) pour ouvrir ceux-ci
puisqu'il s'agit de document WORD ou si d'autres types de documents
doivent être ouverts, utiliser la fonction OpenFileExtend() que tu
trouveras sur le site de Raymond:
http://officesystem.access.free.fr/apiopenfileextend.htm

Je me suis peut-être mal exprimé....

J'ai créé une table avec :
- un champ texte
- un champ Objet OLE

Je cherche à construire une macro (qui me servira dans un bouton de
formulaire)
pour ouvrir l'objet OLE (c'est un fichier Word).


SélectionnerObjet (je sélectionne ma table)
OuvrirTable (j'ouvre ma table)
AtteindreContrôle (je me positionne sur le champ Objet OLE de ma table)

et là je suis coincé car je voudrais ouvrir l'objet OLE !!

merci de votre aide


"Olgga" a écrit dans le message de
news:e%

Bonjour à tous,
Je dispose d'une table dont chaque enregistrement est composé d'un champ
texte et d'un champ objet OLE (fichier Word)
Je souhaite à partir d'un formulaire sur lequel apparaît le champ texte
ouvrir l'objet OLE associé par l'intermédiaire d'un bouton
Sauriez-vous m'aider dans la macro (ou le code) à prescrire à ce bouton ?
Merci beaucoup.








--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
3stone
Salut,

"Olgga"
| Je dispose d'une table dont chaque enregistrement est composé d'un champ
| texte et d'un champ objet OLE (fichier Word)
| Je souhaite à partir d'un formulaire sur lequel apparaît le champ texte
| ouvrir l'objet OLE associé par l'intermédiaire d'un bouton
| Sauriez-vous m'aider dans la macro (ou le code) à prescrire à ce bouton ?


Utilise Hyperlink...

Tu peux t'inspirer de ceci :
http://www.3stone.be/access/faq.php?lng=fr&pg'4


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Olgga
Merci Eric !
je m'en vais essayer tout ça
tu as certainement raison avec la taille de la BD
je vais essayer d'utiliser les chemins
à+


"Eric" a écrit dans le message de
news:%
Bonjour,

Pourquoi ne pas faire un formulaire sur cette table, mettre les 2
champs, définir la propriété Visible du Champ OLE à NON, (réduire la
taille du controle) puis un bouton de commande (Commande1) avec une
procédure évènementielle :
Private Sub Commande1_Click()
If Not IsNull(Me.LeChampOLE) Then ' adapter le nom du champ
Me.LeChampOLE.Verb = acOLEVerbOpen
Me.LeChampOLE.Action = acOLEActivate
End If
End Sub


Ceci dit, avec des champs OLE, la taille de ta base va considérablement
augmenter. Pourquoi ne pas stocker seulement le chemin des documents et
utiliser la commande Shell (voir dans l'aide) pour ouvrir ceux-ci
puisqu'il s'agit de document WORD ou si d'autres types de documents
doivent être ouverts, utiliser la fonction OpenFileExtend() que tu
trouveras sur le site de Raymond:
http://officesystem.access.free.fr/apiopenfileextend.htm

Je me suis peut-être mal exprimé....

J'ai créé une table avec :
- un champ texte
- un champ Objet OLE

Je cherche à construire une macro (qui me servira dans un bouton de
formulaire)
pour ouvrir l'objet OLE (c'est un fichier Word).


SélectionnerObjet (je sélectionne ma table)
OuvrirTable (j'ouvre ma table)
AtteindreContrôle (je me positionne sur le champ Objet OLE de ma table)

et là je suis coincé car je voudrais ouvrir l'objet OLE !!

merci de votre aide


"Olgga" a écrit dans le message de
news:e%

Bonjour à tous,
Je dispose d'une table dont chaque enregistrement est composé d'un champ
texte et d'un champ objet OLE (fichier Word)
Je souhaite à partir d'un formulaire sur lequel apparaît le champ texte
ouvrir l'objet OLE associé par l'intermédiaire d'un bouton
Sauriez-vous m'aider dans la macro (ou le code) à prescrire à ce bouton
?



Merci beaucoup.








--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Olgga
Merci ! je regarde.
à+



"3stone" a écrit dans le message de
news:
Salut,

"Olgga"
| Je dispose d'une table dont chaque enregistrement est composé d'un champ
| texte et d'un champ objet OLE (fichier Word)
| Je souhaite à partir d'un formulaire sur lequel apparaît le champ texte
| ouvrir l'objet OLE associé par l'intermédiaire d'un bouton
| Sauriez-vous m'aider dans la macro (ou le code) à prescrire à ce bouton
?



Utilise Hyperlink...

Tu peux t'inspirer de ceci :
http://www.3stone.be/access/faq.php?lng=fr&pg'4


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/



Avatar
Olgga
Eric
Tu as raison en termes de volume de la base !
je vais donc me diriger vers l'ouverture du fichier Word par un bouton et la
commande Call Shell
Ce fichier Word sera propre à chaque enregistrement de ma table
Peux-tu me dire comment je récupère le chemin qui va se trouve dans un champ
dédié de chaque enregistrement
pour argumenter mon Shell ?
Merci à toi !




"Eric" a écrit dans le message de
news:%
Bonjour,

Pourquoi ne pas faire un formulaire sur cette table, mettre les 2
champs, définir la propriété Visible du Champ OLE à NON, (réduire la
taille du controle) puis un bouton de commande (Commande1) avec une
procédure évènementielle :
Private Sub Commande1_Click()
If Not IsNull(Me.LeChampOLE) Then ' adapter le nom du champ
Me.LeChampOLE.Verb = acOLEVerbOpen
Me.LeChampOLE.Action = acOLEActivate
End If
End Sub


Ceci dit, avec des champs OLE, la taille de ta base va considérablement
augmenter. Pourquoi ne pas stocker seulement le chemin des documents et
utiliser la commande Shell (voir dans l'aide) pour ouvrir ceux-ci
puisqu'il s'agit de document WORD ou si d'autres types de documents
doivent être ouverts, utiliser la fonction OpenFileExtend() que tu
trouveras sur le site de Raymond:
http://officesystem.access.free.fr/apiopenfileextend.htm

Je me suis peut-être mal exprimé....

J'ai créé une table avec :
- un champ texte
- un champ Objet OLE

Je cherche à construire une macro (qui me servira dans un bouton de
formulaire)
pour ouvrir l'objet OLE (c'est un fichier Word).


SélectionnerObjet (je sélectionne ma table)
OuvrirTable (j'ouvre ma table)
AtteindreContrôle (je me positionne sur le champ Objet OLE de ma table)

et là je suis coincé car je voudrais ouvrir l'objet OLE !!

merci de votre aide


"Olgga" a écrit dans le message de
news:e%

Bonjour à tous,
Je dispose d'une table dont chaque enregistrement est composé d'un champ
texte et d'un champ objet OLE (fichier Word)
Je souhaite à partir d'un formulaire sur lequel apparaît le champ texte
ouvrir l'objet OLE associé par l'intermédiaire d'un bouton
Sauriez-vous m'aider dans la macro (ou le code) à prescrire à ce bouton
?



Merci beaucoup.








--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Eric
re,

Par exemple, un formulaire en mode tabulaire avec les 2 champs Texte et
un bouton de commande suivant les 2 champs :
du style: Titre Le_Lien Bouton
Private Sub Commande1_Click()
Dim id As Double, strApp As String
strApp = "c:program filesMicrosoft officeofficewinword.exe "
If Not IsNull(Me.Le_Lien) Then
id = Shell(strApp & Chr(34) & Me.Le_Lien & Chr(34), 1)
End If
End Sub

Mais ceci t'impose de connaitre l'emplacement du fichier Winword.exe.
La méthode que te propose Pierre(3stone) t'affranchit de cela.


Eric
Tu as raison en termes de volume de la base !
je vais donc me diriger vers l'ouverture du fichier Word par un bouton et la
commande Call Shell
Ce fichier Word sera propre à chaque enregistrement de ma table
Peux-tu me dire comment je récupère le chemin qui va se trouve dans un champ
dédié de chaque enregistrement
pour argumenter mon Shell ?
Merci à toi !



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Olgga
re,

OK je vois bien....
(de toutes façon Winword est toujours à cet emplacement)

mais Le_Lien change avec chaque enregistrement !
en mettant le nom du champ qui contient le lien à la place de Le_Lien ça ne
marche pas
qu'en penses-tu ?



"Eric" a écrit dans le message de
news:%
re,

Par exemple, un formulaire en mode tabulaire avec les 2 champs Texte et
un bouton de commande suivant les 2 champs :
du style: Titre Le_Lien Bouton
Private Sub Commande1_Click()
Dim id As Double, strApp As String
strApp = "c:program filesMicrosoft officeofficewinword.exe "
If Not IsNull(Me.Le_Lien) Then
id = Shell(strApp & Chr(34) & Me.Le_Lien & Chr(34), 1)
End If
End Sub

Mais ceci t'impose de connaitre l'emplacement du fichier Winword.exe.
La méthode que te propose Pierre(3stone) t'affranchit de cela.


Eric
Tu as raison en termes de volume de la base !
je vais donc me diriger vers l'ouverture du fichier Word par un bouton
et la


commande Call Shell
Ce fichier Word sera propre à chaque enregistrement de ma table
Peux-tu me dire comment je récupère le chemin qui va se trouve dans un
champ


dédié de chaque enregistrement
pour argumenter mon Shell ?
Merci à toi !



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Eric
re,
Le_Lien est le nom du champ qui contient le chemin complet du fichier
avec l'extension du genre :
C:Documents and SettingsUserXMes documentsAccess.doc

re,

OK je vois bien....
(de toutes façon Winword est toujours à cet emplacement)

mais Le_Lien change avec chaque enregistrement !
en mettant le nom du champ qui contient le lien à la place de Le_Lien ça ne
marche pas
qu'en penses-tu ?




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Olgga
OK merci pour tout
je vais me plonger là-dedans !
à+



"Eric" a écrit dans le message de
news:
re,
Le_Lien est le nom du champ qui contient le chemin complet du fichier
avec l'extension du genre :
C:Documents and SettingsUserXMes documentsAccess.doc

re,

OK je vois bien....
(de toutes façon Winword est toujours à cet emplacement)

mais Le_Lien change avec chaque enregistrement !
en mettant le nom du champ qui contient le lien à la place de Le_Lien ça
ne


marche pas
qu'en penses-tu ?




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr