Arbeiten mit Document-Objekten
In Visual Basic sind die Methoden zum Ändern von Dateien Methoden des Document-Objekts oder der Documents-Auflistung . Dieses Thema enthält Visual Basic-Beispiele im Zusammenhang mit den in den folgenden Abschnitten identifizierten Aufgaben.
Erstellen eines neuen Dokuments
Die Documents-Auflistung enthält alle geöffneten Dokumente. Wenn Sie ein neues Dokument erstellen möchten, fügen Sie mithilfe der Add -Methode ein Document -Objekt zur Documents -Auflistung hinzu. Mit der folgenden Anweisung wird ein Dokument erstellt.
Documents.Add
Ein besseres Verfahren zum Erstellen eines Dokuments besteht darin, den Rückgabewert einer Objektvariablen zuzuweisen. Die Add-Methode gibt ein Document-Objekt zurück, das sich auf das neue Dokument bezieht. Im folgenden Beispiel wird das Document-Objekt, das von der Add-Methode zurückgegeben wird, einer Objektvariablen zugewiesen. Anschließend werden mehrere Eigenschaften und Methoden des Document -Objekts festgelegt. Sie können das neue Dokument leicht mithilfe einer Objektvariablen steuern.
Sub NewSampleDoc()
Dim docNew As Document
Set docNew = Documents.Add
With docNew
.Content.Font.Name = "Tahoma"
.SaveAs FileName:="Sample.doc"
End With
End Sub
Öffnen eines Dokuments
Um ein vorhandenes Dokument zu öffnen, verwenden Sie die Open-Methode mit der Documents-Auflistung . Mit der folgenden Anweisung wird das Dokument Sample.doc aus dem Ordner MyFolder geöffnet.
Sub OpenDocument()
Documents.Open FileName:="C:\MyFolder\Sample.doc"
End Sub
Speichern eines vorhandenen Dokuments
Um ein einzelnes Dokument zu speichern, verwenden Sie die Save-Methode mit dem Document-Objekt . Mit der folgenden Anweisung wird das Dokument Sales.doc gespeichert.
Sub SaveDocument()
Documents("Sales.doc").Save
End Sub
Sie können alle geöffneten Dokumente speichern, indem Sie die Save-Methode auf die Documents-Auflistung anwenden. Mit der folgenden Anweisung werden alle geöffneten Dokumente gespeichert.
Sub SaveAllOpenDocuments()
Documents.Save
End Sub
Speichern eines neuen Dokuments
Verwenden Sie zum Speichern eines einzelnen Dokuments die SaveAs2-Methode mit einem Document-Objekt . Mit der folgenden Anweisung wird das aktive Dokument als "Temp.doc" im aktuellen Ordner gespeichert.
Sub SaveNewDocument()
ActiveDocument.SaveAs FileName:="Temp.doc"
End Sub
Das Argument FileName kann nur den Dateinamen oder den vollständigen Pfad enthalten (z. B. "C:\Documents\Temporary File.doc").
Schließen von Dokumenten
Um ein einzelnes Dokument zu schließen, verwenden Sie die Close-Methode mit einem Document-Objekt . Mit der folgenden Anweisung wird das Dokument Sales.doc geschlossen und gespeichert.
Sub CloseDocument()
Documents("Sales.doc").Close SaveChanges:=wdSaveChanges
End Sub
Sie können alle geöffneten Dokumente schließen, indem Sie die Close-Methode der Documents-Auflistung anwenden. Mit der folgenden Anweisung werden alle Dokumente geschlossen, ohne die Änderungen zu speichern.
Sub CloseAllDocuments()
Documents.Close SaveChanges:=wdDoNotSaveChanges
End Sub
Im folgenden Beispiel wird der Benutzer aufgefordert, jedes Dokument zu speichern, bevor es geschlossen wird.
Sub PromptToSaveAndClose()
Dim doc As Document
For Each doc In Documents
doc.Close SaveChanges:=wdPromptToSaveChanges
Next
End Sub
Aktivieren eines Dokuments
Um das aktive Dokument zu ändern, verwenden Sie die Activate-Methode mit einem Document-Objekt . Mit der folgenden Anweisung wird das Dokument Sales.doc aktiviert.
Sub ActivateDocument()
Documents("Sales.doc").Activate
End Sub
Feststellen, ob ein Dokument geöffnet ist
Um zu ermitteln, ob ein Dokument geöffnet ist, können Sie die Documents-Auflistung mithilfe der For Each...Next-Anweisung durchlaufen. Im folgenden Beispiel wird das Dokument Sample.doc aktiviert, wenn das Dokument geöffnet ist, oder Sample.doc wird geöffnet, wenn dieses Dokument momentan nicht geöffnet ist.
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
Bezugnehmen auf das aktive Dokument
Die ActiveDocument-Eigenschaft gibt ein Document-Objekt zurück, Documents("Sales.doc")
das auf das aktive Dokument verweist (das Dokument mit dem Fokus). Im folgenden Beispiel wird der Name des aktiven Dokuments angezeigt, oder wenn keine Dokumente geöffnet sind, wird eine Meldung angezeigt.
Sub ActiveDocumentName()
If Documents.Count >= 1 Then
MsgBox ActiveDocument.Name
Else
MsgBox "No documents are open"
End If
End Sub
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für