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

Automatiser à partir de Word l'envoi d'un message via Outlook

2 réponses
Avatar
pieridas
Pros de VBA salut !

Débutant en VBA, j'essaie en vain d'enregistrer dans une macro l'envoi par
mail d'un document Word

(Je reposte ici mon problème ,déjà exposé dans les forums Word et Outlook
mais sans résultat)

Le contexte est XP Home SP2 avec Office 2000

1) J'appelle d'abord mon document sous Word qui contient des champs de
formulaire que je renseigne (Word n'est pas mon éditeur de mails)

2) Je déroule Fichier/Envoyer vers/Destinataire...

(donc sous Word vient se greffer une partie d'écran supplémentaire style
Outlook qui contient une barre d'outils qui commence par "Envoyer une
copie", les champs A... Cc... et Objet:) On a sous les yeux l'écran d'Envoi
de message Outlook surmonté des barres d'outils et menus Word.

Mon document est prêt a être envoyé dans le corps du message en HTML (car je
ne veux pas l'envoyer en pièce jointe)

3) Je lance une macro associée à un bouton, elle va chercher des pdf qu'elle
attache en pièces jointes en fonction du contenu des champs de formulaires.
La macro fait bien son job: les pièces jointes sont bien récupérées et je
peux saisir l'adresse du
destinataire.

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

4) A ce stade il me reste à dérouler Options...(des messages)/Cocher
"Demander une confirmation de lecture pour ce message"
5) à cliquer le bouton "Envoyer une copie"
6) et à quitter Word (sans sauver le document car c'est une sorte de modèle
utilisé 36 fois par jour).

Pour le moment j'exécute manuellement ces opérations 4) 5) et 6) mais ce
serait bien si je pouvais
les intégrer à la fin de ma macro.
Mais l'enregistreur de macro refuse obstinément d'enregistrer les opérations
4) et 5) donc je peux me brosser.


Merci aux pros qui voudront bien me tuyauter

pieridas

2 réponses

Avatar
Clive Lumb
"pieridas" a écrit dans le message de
news:43fed7e9$0$29217$
Pros de VBA salut !

Débutant en VBA, j'essaie en vain d'enregistrer dans une macro l'envoi par
mail d'un document Word

(Je reposte ici mon problème ,déjà exposé dans les forums Word et Outlook
mais sans résultat)

Le contexte est XP Home SP2 avec Office 2000

1) J'appelle d'abord mon document sous Word qui contient des champs de
formulaire que je renseigne (Word n'est pas mon éditeur de mails)

2) Je déroule Fichier/Envoyer vers/Destinataire...

(donc sous Word vient se greffer une partie d'écran supplémentaire style
Outlook qui contient une barre d'outils qui commence par "Envoyer une
copie", les champs A... Cc... et Objet:) On a sous les yeux l'écran


d'Envoi
de message Outlook surmonté des barres d'outils et menus Word.

Mon document est prêt a être envoyé dans le corps du message en HTML (car


je
ne veux pas l'envoyer en pièce jointe)

3) Je lance une macro associée à un bouton, elle va chercher des pdf


qu'elle
attache en pièces jointes en fonction du contenu des champs de


formulaires.
La macro fait bien son job: les pièces jointes sont bien récupérées et je
peux saisir l'adresse du
destinataire.

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

4) A ce stade il me reste à dérouler Options...(des messages)/Cocher
"Demander une confirmation de lecture pour ce message"
5) à cliquer le bouton "Envoyer une copie"
6) et à quitter Word (sans sauver le document car c'est une sorte de


modèle
utilisé 36 fois par jour).

Pour le moment j'exécute manuellement ces opérations 4) 5) et 6) mais ce
serait bien si je pouvais
les intégrer à la fin de ma macro.
Mais l'enregistreur de macro refuse obstinément d'enregistrer les


opérations
4) et 5) donc je peux me brosser.


Merci aux pros qui voudront bien me tuyauter



Je n'ai jamais fait la manip comme tu voudrais faire, mes à mon avis
l'enregistrement de macro ne marche pas parceque ce sont des commandes
Outlook, pas Word.
Il faudrait donc ajouter uine référence Outlook dans le code et utiliser
l'objet "Inspector" d'Outlook.
Par exmple (et sans garanti)
'Dim oAppNs As Outlook.NameSpace
Dim oApp As New Outlook.Application
Dim oExp As Outlook.Explorer
Dim oItem As Object ' You don't know the type yet.
Dim oMessage As Outlook.MailItem
Dim oInspector As Outlook.Inspector
'Set oAppNs = oApp.GetNamespace("MAPI")
Set oExp = oApp.ActiveExplorer ' Get the ActiveExplorer.
If oApp.Inspectors.Count > 0 Then
Set oInspector = oApp.ActiveInspector
Set oItem = oInspector.CurrentItem
If oItem.Class = olMail Then
Set oMessage = oItem
oMessage.OriginatorDeliveryReportRequested = True
oMessage.ReadReceiptRequested = True
oMessage.Send
endif
endif
Set oMessage = Nothing
Set oItem=nothing
Set oExp = nothing
Set oApp = Nothing
Avatar
pieridas
>>


Je n'ai jamais fait la manip comme tu voudrais faire, mes à mon avis
l'enregistrement de macro ne marche pas parceque ce sont des commandes
Outlook, pas Word.
Il faudrait donc ajouter uine référence Outlook dans le code et utiliser
l'objet "Inspector" d'Outlook.
Par exmple (et sans garanti)
'Dim oAppNs As Outlook.NameSpace
Dim oApp As New Outlook.Application
Dim oExp As Outlook.Explorer
Dim oItem As Object ' You don't know the type yet.
Dim oMessage As Outlook.MailItem
Dim oInspector As Outlook.Inspector
'Set oAppNs = oApp.GetNamespace("MAPI")
Set oExp = oApp.ActiveExplorer ' Get the ActiveExplorer.
If oApp.Inspectors.Count > 0 Then
Set oInspector = oApp.ActiveInspector
Set oItem = oInspector.CurrentItem
If oItem.Class = olMail Then
Set oMessage = oItem
oMessage.OriginatorDeliveryReportRequested = True
oMessage.ReadReceiptRequested = True
oMessage.Send
endif
endif
Set oMessage = Nothing
Set oItem=nothing
Set oExp = nothing
Set oApp = Nothing





Merci pour la réponse.

La transposition telle qu'elle dans mon problème ne donne rien mais je vais
en exploiter les idées

Le problème est principalement aussi entre la chaise et le clavier et il va
falloir que je me plonge sérieusement dans le VBA en 3 volumes

Salutations

pieridas