Ouverture et activation d’un document Word, à partir d’Excel, VBA

Maintenant que Word est ouvert, il est raisonnable de supposer que le prochain point de votre ordre du jour est d’ouvrir un document Word existant ou de créer un nouveau document Word. Si le plan est d’ouvrir un document existant, il faut tenir compte de la possibilité que le document n’existe pas dans le chemin de dossier spécifié.

À des fins de démonstration, supposons que vous mainteniez un document Word nommé monDocWord.docx dans le chemin du dossier C:\ mesfichiers\. Avant d’essayer d’ouvrir le document, vérifiez le répertoire pour vous assurer qu’il réside dans le chemin du dossier attendu. Si le document Word n’est pas là où votre macro pense qu’il devrait être, quittez la macro avec une boîte de message informant l’utilisateur pourquoi le processus n’a pas pu être terminé.

Enfin, votre macro doit garder (c’est-à-dire le document Word), qui peut déjà être ouvert si Word est déjà ouvert. Vous pouvez voir qu’il y a beaucoup à retenir, mais c’est à cela que servent les macros… dites-leur une fois et ils feront ce qu’on leur dit. Voici la modification complète de la macro ActivateWord qui englobe tout cela dans un seul package:

Sub ActivationDeWord()

' Déclarez les variables Object pour l'application et le document Word.

Dim WordApp As Object, worddoc As Object

' Déclarez une variable String pour le nom du document d'exemple et le

' chemin du dossier.

Dim strNomDoc As String

' L’instruction On Error si Word n'est pas déjà ouvert.

On Error Resume Next

' Activez Word s'il est déjà ouvert.

Set WordApp = GetObject(, "Word.Application")

If Err.Number = 429 Then

Err.Clear

' Créez une application Word si Word n'est pas déjà ouvert.

Set WordApp = CreateObject("Word.Application")

End If

' Assurez-vous que l'application Word est visible.

WordApp.Visible = True

' Définissez la variable de chaîne strNomDoc.

strNomDoc = "C:\mesfichiers\monDocWord.docx"

' Vérifiez le répertoire pour la présence du nom du document dans

' le chemin du dossier.

'S'il n'est pas reconnu, informez l'utilisateur et quittez la macro.

If Dir(strNomDoc) = "" Then

MsgBox "Le fichier monDocWord.docx" & vbCrLf & _

" n'a pas été trouvé dans le chemin du dossier" & vbCrLf & _

"C:\mesfichiers\.", _

vbExclamation, _

" Désolé, ce nom de document n'existe pas."

Exit Sub

End If

' Activez l'application Word.

WordApp.Activate

' Définissez la variable objet pour le nom complet du document Word

' et le chemin d'accès au dossier.

Set worddoc = WordApp.Documents(strNomDoc)

' Si le document Word n'est pas déjà ouvert, ouvrez-le.

If worddoc Is Nothing Then Set worddoc = WordApp.Documents.Open(strNomDoc)

' Le document est ouvert, alors activez-le.

worddoc.Activate

' Libérez la mémoire système réservée aux deux variables Object.

Set worddoc = Nothing

Set WordApp = Nothing

End Sub

 

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x