Clase List - lista (Word VBA)
La clase List representa un solo formato de lista que se ha aplicado a párrafos específicos de un documento. Para usar una variable de clase List, primero debe ser instanciado, por ejemplo
Dim lst as List
Set lst = ActiveDocument.Lists(Index:=1)
For Each
A continuación, se muestra un ejemplo de cómo procesar los elementos List en una colección.
Dim lst As List
For Each lst In ActiveDocument.Lists
Next lst
ApplyListTemplate
Se aplica a un conjunto de características de formato de lista al objeto ListFormat especificado.
ApplyListTemplate (ListTemplate, ContinuePreviousList, DefaultListBehavior)
Set myDoc = ActiveDocument
Set myRange = myDoc.Range( _
Start:= myDoc.Paragraphs(3).Range.Start, _
End:=myDoc.Paragraphs(6).Range.End)
If myRange.ListFormat.ListType = wdListNoNumbering Then
myRange.ListFormat.ApplyListTemplate _
ListTemplate:=ListGalleries(wdOutlineNumberGallery) _
.ListTemplates(4)
End If
Arguments
Un argumento con nombre
ListTemplate (ListTemplate) - Plantilla de lista que se va a aplicar.
Optional arguments
Los siguientes argumentos son opcionales
ContinuePreviousList (Boolean) - True para continuar la numeración de la lista anterior; False para iniciar una nueva lista.
DefaultListBehavior (WdDefaultListBehavior) - Establece un valor que especifica si Microsoft Word utiliza un nuevo formato orientado al Web para mejorar la presentación de las listas.
Posibles valores de retorno son wdWord10ListBehavior - Utilizar formato compatible con Microsoft Word 2002, wdWord8ListBehavior - Utilizar formato compatible con Microsoft Word 97, wdWord9ListBehavior - Utilizar el formato orientado al Web que incorpora Microsoft Word 2000.
ApplyListTemplateWithLevel
Aplica un conjunto de características de formato de listas; opcionalmente para un nivel especificado.
ApplyListTemplateWithLevel (ListTemplate, ContinuePreviousList, DefaultListBehavior, ApplyLevel)
Set myDoc = ActiveDocument
Set myRange = myDoc.Range( _
Start:= myDoc.Paragraphs(3).Range.Start, _
End:=myDoc.Paragraphs(6).Range.End)
If myRange.ListFormat.ListType = wdListNoNumbering Then
myRange.ListFormat.ApplyListTemplate _
ListTemplate:=ListGalleries(wdOutlineNumberGallery) _
.ListTemplates(4)
End If
Arguments
Un argumento con nombre
ListTemplate (ListTemplate) - Plantilla de lista que se va a aplicar.
Optional arguments
Los siguientes argumentos son opcionales
ContinuePreviousList (Boolean) - True para continuar la numeración de la lista anterior; False para iniciar una nueva lista.
DefaultListBehavior (WdDefaultListBehavior) - Establece un valor que especifica si Microsoft Word utiliza el formato orientado al Web es nueva para una mejor presentación de lista.
Posibles valores de retorno son wdWord10ListBehavior - Utilizar formato compatible con Microsoft Word 2002, wdWord8ListBehavior - Utilizar formato compatible con Microsoft Word 97, wdWord9ListBehavior - Utilizar el formato orientado al Web que incorpora Microsoft Word 2000.
ApplyLevel (Long) - Nivel al que se aplica la plantilla de lista.
CanContinuePreviousList
Devuelve una constante WdContinue (wdContinueDisabled, wdResetListo wdContinueList) que indica si se puede continuar con el formato de la lista anterior. Posibles valores de retorno son wdContinueDisabled - No se puede continuar el formato de la lista anterior, wdContinueList - El formato de la lista anterior puede continuar, wdResetList - Se puede reiniciar la numeración.
Este método devuelve el estado de las opciones continuar la lista anterior y reiniciar la numeración en el cuadro de diálogo Numeración y viñetas para un formato de lista especificado.
CanContinuePreviousList (ListTemplate)
ListTemplate: Plantilla de lista que se ha aplicado a los párrafos anteriores del documento.
Dim lfTemp As ListFormat
Dim intContinue As Integer
Set lfTemp = Selection.Range.ListFormat
intContinue = lfTemp.CanContinuePreviousList( _
ListTemplate:=lfTemp.ListTemplate)
If intContinue <> wdContinueDisabled Then
lfTemp.ApplyListTemplate _
ListTemplate:=lfTemp.ListTemplate, _
ContinuePreviousList:=True
End If
ConvertNumbersToText
Cambia los números de lista y los campos LISTNUM del objeto List especificado.
ConvertNumbersToText (NumberType)
CountNumberedItems
Devuelve el número de elementos con viñetas o números y campos LISTNUM del objeto List especificado.
CountNumberedItems (NumberType, Level)
Selection.Range.ListFormat.ApplyListTemplate _
ListTemplate:=ListGalleries(wdNumberGallery).ListTemplates(2)
Msgbox ActiveDocument.CountNumberedItems
Arguments
Optional arguments
Los siguientes argumentos son opcionales
NumberType - WdNumberType
Posibles valores de retorno son wdNumberAllNumbers - Valor predeterminado en todos los demás casos, wdNumberListNum - Valor predeterminado de los campos LISTNUM, wdNumberParagraph - Números preestablecidos que se pueden agregar a los párrafos seleccionando una plantilla en el cuadro de diálogo Numeración y viñetas.
Level - Byte
ListParagraphs
Devuelve una colección ListParagraphs que representa todos los párrafos numerados de la lista, el documento o el intervalo.
Para obtener información sobre cómo devolver un solo miembro de una colección, vea devolver un objeto de una colección.
For Each mypara In ActiveDocument.Lists(2).ListParagraphs
mypara.Range.Underline = wdUnderlineDouble
Next mypara
Range
Devuelve un objeto Range que representa la parte de un documento incluida en el objeto especificado.
Dim rngRange As Range
Set rngRange = ActiveDocument.Lists(1).Range
RemoveNumbers
Quita los números o viñetas de la lista especificada.
RemoveNumbers (NumberType)
NumberType: Tipo de número que va a quitarse.
ActiveDocument.Lists(1).RemoveNumbers
SingleListTemplate
True si la lista completa utiliza la misma plantilla de lista.
Dim booSingleListTemplate As Boolean
booSingleListTemplate = ActiveDocument.Lists(1).SingleListTemplate
StyleName
Devuelve el nombre del estilo aplicado a la entrada de Autotexto especificada.
Set myentry = NormalTemplate.AutoTextEntries.Add(Name:="rsvp", _
Range:=Selection.Range)
MsgBox myentry.StyleName