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, die sich auf die in den folgenden Abschnitten identifizierten Aufgaben bezogen.

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

Verwenden Sie zum Öffnen eines vorhandenen Dokuments 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

Verwenden Sie zum Speichern eines einzelnen Dokuments 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

Verwenden Sie zum Schließen eines einzelnen Dokuments 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

Verwenden Sie zum Ändern des aktiven Dokuments 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

Anstatt auf ein Dokument nach Name oder Indexnummer zu verweisen ( z. B. – gibt die Documents("Sales.doc") ActiveDocument-Eigenschaft ein Document-Objekt zurück, 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.