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)

Los siguientes procedimientos se pueden usar para establecer variables de clase List : ListFormat.List y Lists.Item.

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