Partager via


Utilisation des objets Document

En Visual Basic, les méthodes permettant de modifier des fichiers sont des méthodes de l’objet Document ou de la collection Documents . Cette rubrique contient des exemples Visual Basic liés aux tâches identifiées dans les sections suivantes.

Création d'un document

La collection Documents comprend tous les documents ouverts. Pour créer un document, utilisez la méthode Add pour ajouter un objet Document à la collection Documents . L’instruction suivante crée un document :

Documents.Add

Une meilleure solution pour la création d'un document consiste à affecter la valeur renvoyée à une variable objet. La méthode Add renvoie un objet Document qui fait référence à un nouveau document. Dans l'exemple ci-dessous, l'objet Document renvoyé par la méthode Add est affecté à une variable objet. Des valeurs sont ensuite affectées à plusieurs propriétés et méthodes de l'objet Document. Vous pouvez facilement manipuler le nouveau document à l'aide de la variable objet.

Sub NewSampleDoc() 
    Dim docNew As Document 
    Set docNew = Documents.Add 
    With docNew 
        .Content.Font.Name = "Tahoma" 
        .SaveAs FileName:="Sample.doc" 
    End With 
End Sub

Ouverture d'un document

Pour ouvrir un document existant, utilisez la méthode Open avec la collection Documents . L’instruction ci-dessous ouvre un document nommé Sample.doc situé dans le dossier MyFolder.

Sub OpenDocument() 
    Documents.Open FileName:="C:\MyFolder\Sample.doc" 
End Sub

Enregistrement d'un document existant

Pour enregistrer un seul document, utilisez la méthode Save avec l’objet Document . L’instruction suivante enregistre le document nommé Sales.doc :

Sub SaveDocument() 
    Documents("Sales.doc").Save 
End Sub

Vous pouvez enregistrer tous les documents ouverts en appliquant la méthode Save à la collection Documents. Cette instruction enregistre tous les documents ouverts :

Sub SaveAllOpenDocuments() 
    Documents.Save 
End Sub

Enregistrement d'un nouveau document

Pour enregistrer un seul document, utilisez la méthode SaveAs2 avec un objet Document . L'instruction ci-dessous enregistre le document actif sous le nom « Temp.doc » dans le dossier actif.

Sub SaveNewDocument() 
    ActiveDocument.SaveAs FileName:="Temp.doc"
End Sub

L’argument FileName peut inclure uniquement le nom de fichier ou le chemin d’accès complet (par exemple, « C:\Documents\Temporary File.doc »).

Fermeture de documents

Pour fermer un document unique, utilisez la méthode Close avec un objet Document . L’instruction suivante ferme et enregistre le document nommé Sales.doc :

Sub CloseDocument()
    Documents("Sales.doc").Close SaveChanges:=wdSaveChanges 
End Sub

Vous pouvez fermer tous les documents ouverts en appliquant la méthode Close de la collection Documents . L’instruction ci-dessous ferme tous les documents, sans en enregistrer les éventuelles modifications.

Sub CloseAllDocuments() 
    Documents.Close SaveChanges:=wdDoNotSaveChanges
End Sub

L'exemple ci-dessous montre comment inviter l'utilisateur à enregistrer chacun des documents avant leur fermeture.

Sub PromptToSaveAndClose()
    Dim doc As Document
    For Each doc In Documents 
        doc.Close SaveChanges:=wdPromptToSaveChanges
    Next
End Sub

Activation d'un document

Pour modifier le document actif, utilisez la méthode Activate avec un objet Document . L’instruction suivante active le document ouvert, nommé Sales.doc :

Sub ActivateDocument() 
    Documents("Sales.doc").Activate 
End Sub

Comment déterminer si un document est ouvert

Pour déterminer si un document est ouvert, vous pouvez passer en revue la collection Documents en utilisant une instruction For Each...Next. L'exemple ci-dessous montre comment activer le document appelé Sample.doc s'il est ouvert, ou l'ouvrir s'il n'est pas déjà ouvert.

Sub ActivateOrOpenDocument() 
    Dim doc As Document 
    Dim docFound As Boolean 
 
    For Each doc In Documents 
        If InStr(1, doc.Name, "sample.doc", 1) Then 
            doc.Activate 
            docFound = True 
            Exit For 
        Else 
            docFound = False 
        End If 
    Next doc 
 
    If docFound = False Then Documents.Open FileName:="Sample.doc" 
End Sub

Comment faire référence au document actif

Au lieu de faire référence à un document par son nom ou son numéro d’index( par exemple, Documents("Sales.doc") la propriété ActiveDocument renvoie un objet Document qui fait référence au document actif (le document avec le focus). L’exemple ci-dessous montre comment afficher le nom du document actif, ou un message si aucun document n’est ouvert.

Sub ActiveDocumentName() 
    If Documents.Count >= 1 Then 
        MsgBox ActiveDocument.Name 
    Else 
        MsgBox "No documents are open" 
    End If 
End Sub

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.