Klasse Subdocument - Filialdokument (Word VBA)

Die Klasse Subdocument stellt ein Filialdokument in einem Dokument oder Bereich dar.

Um eine Subdocument -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise

Dim sbd as Subdocument
Set sbd = ActiveDocument.Subdocuments(Index:=1)

Die folgenden Prozeduren können zum Festlegen der Subdocument Klassenvariablen verwendet werden : Subdocuments.AddFromFile, Subdocuments.AddFromRange und Subdocuments.Item.

For Each

Hier ist ein Beispiel für die Verarbeitung der Subdocument -Elemente in einer Sammlung

Dim subdoc As Subdocument 
For Each subdoc In ActiveDocument.Subdocuments 
 subdoc.Range.Select 
 If subdoc.HasFile = True Then 
 MsgBox subdoc.Path & Application.PathSeparator  & subdoc.Name 
 Else 
 MsgBox "This subdocument has not been saved." 
 End If 
Next subdoc

Delete

Löscht das angegebene Filialdokument.

ActiveDocument.Subdocuments(1).Delete

HasFile

True, wenn das angegebene Filialdokument in einer Datei gespeichert wurde.

Dim subLoop As Subdocument 
 
For Each subLoop In ActiveDocument.Subdocuments 
 subLoop.Range.Select 
 If subLoop.HasFile = True Then 
 MsgBox subLoop.Path & Application.PathSeparator _ 
 & subLoop.Name 
 Else 
 MsgBox "This subdocument has not been saved." 
 End If 
Next subLoop

Level

Gibt die Überschriftenebene zurück, mit der das Filialdokument erstellt wird.

i = 1 
If ActiveDocument.Subdocuments.Count > = 1 Then 
 For each s in ActiveDocument.Subdocuments 
 MsgBox "The heading level for SubDoc " & i _ 
 & " is " & s.Level 
 i = i + 1 
 Next s 
Else 
 MsgBox "There are no subdocuments defined." 
End If

Locked

True, wenn ein Filialdokument in einem Zentraldokument gesperrt ist.

If ActiveDocument.Subdocuments(1).Locked = True Then 
 ActiveDocument.Protect Type:=wdAllowOnlyComments 
End If

Name

Gibt den Namen des angegebenen Objekts zurück.

Dim strName As String
strName = ActiveDocument.Subdocuments(1).Name

Open

Öffnet das angegebene Filialdokument.

Dim doc As Document
Set doc = ActiveDocument.Subdocuments(1).Open()

Path

Gibt den Datenträger oder den Webpfad an das angegebene Filialdokument zurück.

Der Pfad enthält kein nachstehendes Zeichen, z. B. "C:\MSOffice" oder "https://MyServer".

Dim strPath As String
strPath = ActiveDocument.Subdocuments(1).Path

Range

Gibt ein Range -Objekt zurück, das den Teil eines Dokuments darstellt, der im Filialdokument enthalten ist.

Informationen zum Zurückgeben eines Bereichs aus einem Dokument finden Sie unter der Range -Methode.

Dim rngRange As Range
Set rngRange = ActiveDocument.Subdocuments(1).Range

Split

Teilt ein vorhandenes Filialdokument in Zentraldokument- oder Gliederungsansicht in zwei Filialdokumente auf derselben Ebene auf.

Die Teilung erfolgt am Anfang des angegebenen Bereichs.

Split (Range)

Range: Der Bereich, der bei Teilung des Filialdokuments zu einem separaten Dokument wird.

Selection.Range.Subdocuments(1).Split Range:=Selection.Range