Clase Subdocument - subdocumento (Word VBA)
La clase Subdocument representa un subdocumento dentro de un documento o intervalo. Para usar una variable de clase Subdocument, primero debe ser instanciado, por ejemplo
Dim sbd as Subdocument
Set sbd = ActiveDocument.Subdocuments(Index:=1)
For Each
A continuación, se muestra un ejemplo de cómo procesar los elementos Subdocument en una colección.
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
Elimina el subdocumento especificado.
ActiveDocument.Subdocuments(1).Delete
HasFile
True si se ha guardado en un archivo el subdocumento especificado.
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
Devuelve el nivel de título utilizado para crear el subdocumento.
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 si un subdocumento en un documento maestro está bloqueado.
If ActiveDocument.Subdocuments(1).Locked = True Then
ActiveDocument.Protect Type:=wdAllowOnlyComments
End If
Name
Devuelve el nombre del objeto especificado.
Dim strName As String
strName = ActiveDocument.Subdocuments(1).Name
Open
Se abre el subdocumento especificado.
Dim doc As Document
Set doc = ActiveDocument.Subdocuments(1).Open()
Path
Devuelve el disco o la ruta de acceso Web al subdocumento especificado.
La ruta de acceso no incluye un carácter final, por ejemplo, "C:\MSOffice" o "https://MyServer".
Dim strPath As String
strPath = ActiveDocument.Subdocuments(1).Path
Range
Devuelve un objeto Range que representa la parte de un documento incluida en el subdocumento.
Para obtener información sobre cómo devolver un intervalo de un documento, vea el método Range .
Dim rngRange As Range
Set rngRange = ActiveDocument.Subdocuments(1).Range
Split
Divide un subdocumento en dos subdocumentos del mismo nivel en la vista de documento maestro o la vista Esquema.
La división se realiza al principio del intervalo especificado.
Split (Range)
Range: El intervalo que se convierte en un subdocumento independiente, cuando se divide el documento.
Selection.Range.Subdocuments(1).Split Range:=Selection.Range