Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.