Classe Subdocument - subdocumento (Word VBA)

A classe Subdocument representa um subdocumento de um documento ou de um intervalo. O objeto Subdocument é um membro da coleção Subdocuments . A coleção Subdocuments inclui todos os subdocumentos de um intervalo ou de um documento. Para usar uma variável de classe Subdocument, ela primeiro precisa ser instanciada por exemplo


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

For Each

Aqui está um exemplo de processamento dos itens Subdocument em uma coleção.


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

Exclui o subdocumento especificado.


ActiveDocument.Subdocuments(1).Delete

HasFile

True se o subdocumento especificado tiver sido salvo em um arquivo. Boolean somente leitura.


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

Retorna o nível de título usado para criar o subdocumento. Long somente leitura.


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 se um subdocumento em um documento mestre estiver protegido. Leitura/gravação Boolean.


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

Name

Retorna o nome do objeto especificado. Cadeia de caracteressomente leitura.


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

Open

Abre o subdocumento especificado. Retorna um objeto Document que representa o subdocumento aberto.


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

Path

Retorna o disco ou o caminho da Web para o subdocumento especificado. Cadeia de caracteressomente leitura.

O caminho não inclui um caractere precedente — por exemplo, "C:\MSOffice" ou "https://MyServer". Use a propriedade PathSeparator para adicionar o caractere que separa pastas e letras de unidade. Use a propriedade Name para retornar o nome de arquivo sem o caminho.


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

Range

Retorna um objeto Range que representa a parte de um documento que está contida no subdocumento.

Para obter informações sobre como retornar um intervalo de um documento, consulte o método Range .


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

Split

Divide um subdocumento existente em dois subdocumentos no mesmo nível em modo de documento mestre ou modo de estrutura de tópicos.

A divisão ocorre no início do intervalo especificado. Ocorrerá um erro se o documento não estiver em modo de documento mestre ou de estrutura de tópicos, ou se o intervalo não estiver no início de um parágrafo em um subdocumento.

Split (Range)

Range: O intervalo que, se torna um subdocumento separado quando o subdocumento é divido.


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