Select the product you need help with
Imprimer un document Word 6 depuis Access par DDENuméro d'article: 462844 - Voir les produits auxquels s'applique cet article Ancien nº de publication de cet article : F12844 SymptômesComment imprimer une lettre écrite avec Microsoft Winword 6.0 pour Windows depuis Microsoft Access pour Windows ? RésolutionVous pouvez réaliser cette opération en utilisant l'échange dynamique de données (DDE en anglais pour Dynamic Data Exchange) entre ces 2 applications. Ce mécanisme vous permet en effet de piloter Winword depuis du code Access basic et même de lui envoyer des données. EXEMPLE : Lancez Microsoft Winword 6.0 pour Windows et créez dans un répertoire de données un document dans lequel vous allez insérer 2 signets, le premier de nom NomPersonne et le second de nom LieuVacances. Sauvez ce document sous le nom vacances.doc et notez le répertoire de sauvegarde. Ouvrez maintenant une base de données et dans un module de nom Imprimer vers Winword, définissez une fonction Access basic ImprimeDoc avec 3 paramètres qui sont le nom du document Winword à imprimer, le nom de la personne ainsi que le lieu des vacances. La fonction se présente alors comme suit : NOTA : Le caractère _ indique que l'instruction se poursuit sur la ligne suivante. Function ImprimeDoc (Lettre As String, Vacancier As String, Lieu As _ String) ' Lettre : nom du document WinWord à imprimer (avec son chemin) ' Vacancier : nom de la personne à remplacer le signet NomPersonne ' Lieu : lieu des vacances associé au signet LieuVacances On Error GoTo TraitErreur ' ouverture du canal DDE entre Winword et Microsoft Access. ' En cas d'erreur numéro 282, WinWord est lancé ' dans la gestion des erreurs canal = DDEInitiate("Winword", "system") ' ouverture du fichier Lettre dans l'application WinWord DDEExecute canal, "[FichierOuvrir " & Chr(34) & Lettre & _ Chr(34) & "]" ' après avoir ouvert le fichier dans WinWord, on réinitialise le ' canal DDE avec le sujet du nom du document pour pouvoir ' accéder aux signets de ce dernier canal = DDEInitiate("WinWord", Lettre) ' écriture des 2 variables dans les signets WinWord. DDEPoke canal, "NomPersonne", Vacancier DDEPoke canal, "LieuVacances", Lieu ' lancement de l'impression de ce fichier DDEExecute canal, "[FichierImprimer .Nomfichier=" & _ Chr(34) & Lettre & Chr(34) & "]" ' fermeture du canal DDE DDETerminate canal Exit Function TraitErreur: Select Case Err Case 282 ' Impossible d'ouvrir un canal DDE. Microsoft Access ' n'a pu trouver le sujet de l'application spécifiée ' ou l'application elle-même. ' WinWord est donc démarré à l'aide de shell LancerWord = Shell("e:\applis\winword\winword.exe") ' retour sur le DDEInitiate qui a provoqué cette erreur Resume Case 286 'Délai d'attente de la réponse DDE dépassé. MsgBox " Word n'a pas pu ouvrir le fichier " & Lettre DDETerminate canal Exit Function Case Else ' une erreur non déterminée est survenue MsgBox " Une erreur est survenue dans la fonction _ ImprimeDoc " DDETerminate canal Exit Function End Select End Function Appelez cette fonction, sur la propriété Sur pression d'un bouton de commande dans un formulaire en tapant par exemple : =ImprimeDoc("e:\document\vacances.doc";"Jean-Michel Dupont";"Ibiza") REMARQUE : Le caractère * dans le code indique que l'instruction se poursuit sur la ligne suivante. PropriétésNuméro d'article: 462844 - Dernière mise à jour: lundi 1 mars 2004 - Version: 3.0 Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT. |



Retour au début








