FAQ Word
FAQ WordConsultez toutes les FAQ
Nombre d'auteurs : 20, nombre de questions : 289, dernière mise à jour : 15 juin 2021
Pour envoyer un document par mail, la méthode la plus simple est :
Sub
EnvoiDoc
(
)
ActiveDocument.SendMail
End
Sub
Cette méthode va ouvrir Outlook et vous devrez entrez les destinataires dans les cases prévues. Le document se trouve en pièce jointe du message.
Vous avez aussi la possibilité d'utiliser une procédure qui fera appel à Outlook directement dans votre code. N'oubliez pas d'ajouter la bibliothèque Microsoft Outlook à votre projet.
Sub
EnvoiMail
(
)
Dim
oApp As
Outlook.Application
Dim
MyIt As
MailItem
Dim
myAtt As
Attachment
Set
oApp =
CreateObject
(
'outlook.application')
Set
MyIt =
oApp.CreateItem
(
olMailItem)
Set
myAtt =
MyIt.Attachments.Add
(
ActiveDocument.FullName
)
MyIt.To
=
'LeNom@FAI.fr'
MyIt.Subject
=
'Sujet de l'envoi'
MyIt.BodyFormat
=
olFormatHTML
MyIt.Body
=
'mon corps de message'
MyIt.Send
End
Sub
Le code ci-dessus va envoyer le document en tant que pièce jointe.
Si vous voulez que votre document soit le corps du message :
Sub
EnvoiMail
(
)
Dim
oApp As
Outlook.Application
Dim
MyIt As
MailItem
'Dim myAtt As Attachment
Dim
stTemp As
String
Dim
myRange As
Range
Set
myRange =
ActiveDocument.Range
myRange.WholeStory
myRange.Select
stTemp =
Selection.Text
Set
oApp =
CreateObject
(
"outlook.application"
)
Set
MyIt =
oApp.CreateItem
(
olMailItem)
'Set myAtt = MyIt.Attachments.Add(ActiveDocument.FullName)
MyIt.To
=
"olivier.lebeau@mil.be"
MyIt.Subject
=
"Sujet de l'envoi"
MyIt.BodyFormat
=
olFormatHTML
MyIt.Body
=
stTemp
MyIt.Send
End
Sub
VBA vous permet d'utiliser les librairies des autres logiciels et de cette manière utiliser les fonctionnalités des autres logiciels.
Les principes énoncés ci-dessous sont applicable à Word, mais aussi aux autres logiciels.
Pour pouvoir utiliser Word dans un autre logiciel, vous devez ajouter les références de Word dans votre projet.
Dans la liste, vous devez choisir la librairie qui correspond à la version de Word que vous utilisez.
Si vous ne référencez pas cette librairie, lors de l'utilisation de votre code, vous lèverez une Erreur.
Pour utiliser Word, vous devez déclarer un objet Word et lui affecter une valeur. Il existe plusieurs manières de travailler :
Dim
wApp As
New
Word.Application
Dim
wApp as
Word.Application
Set
wApp =
CreateObject
(
"Word.Application"
)
ou encore si une instance de Word est déjà ouverte et que vous souhaitez l'utiliser
Dim
wApp As
Word.Application
Set
wApp =
Word.Application
Il existe également une méthode qui ne nécessite pas le référencement de la librairie. Cette méthode est intéressante si vous ne connaissez pas la version de Word qui sera utilisée. Mais, il y a un mais, vous n'aurez pas l'aide à la saisie de votre code, les erreurs de frappe seront plus difficile à détecter.
Dim
wApp As
Object
Set
wApp =
CreateObject
(
"Word.Application"
)
Cette dernière méthode est appelée le Late Binding ou Liaison Tardive, alors que les deux premières sont appelées Early Binding ou liaison précoce.
Si vous souhaitez utiliser une instance de Word déjà ouverte, utilisez dans ce cas la méthode GetObject.
Dim
wApp As
Object
Set
wApp =
GetObject
(
,"Word.Application"
)
Lorsque vous utilisez un autre logiciel que Word, il est fréquent de faire appel à une autre bibliothèque.
Par exemple si vous désirez accéder à des données issues d'une base de données Access. Word ne permet pas cet accès, pour y arriver, vous devez ajouter
la bibliothèque DAO et utiliser ses objets.
Dès que vous avez ajouté les références, l fonction IntelliSense est disponible.