Clase Variable (Word VBA)

La clase Variable representa una variable guardada como parte de un documento.

Set

Para usar una variable de clase Variable, primero debe ser instanciado, por ejemplo

Dim vrb as Variable
Set vrb = ActiveDocument.Variables(Index:=1)

Los siguientes procedimientos se pueden usar para establecer variables de clase Variable : Variables.Add, Variables.Item y Document.Variables

For Each

A continuación, se muestra un ejemplo de cómo procesar los elementos Variable en una colección.

Dim vrb As Variable
For Each vrb In ActiveDocument.Variables
	
Next vrb

Delete

Elimina la variable especificada.

ActiveDocument.Variables(1).Delete

Index

Devuelve un Long que representa la posición ordinal de una variable con en la colección de variables.

Set myVar = ActiveDocument.Variables.Add(Name:="Name", _ 
 Value:="Joe") 
num = myVar.Index

Name

Devuelve el nombre del objeto especificado.

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

Parent

Devuelve un objeto Object que representa el objeto primario del objeto Variable especificado.

Dim objParent As Object
Set objParent = ActiveDocument.Variables(1).Parent

Value

Devuelve o establece el valor de una variable de documento.

ActiveDocument.Variables.Add Name:="Temp2", Value:="10" 
MsgBox ActiveDocument.Variables("Temp2").Value

Variables.Add

Devuelve un objeto variable que representa una variable agregada a un documento.

Las variables de documento son invisibles para el usuario a menos que se inserta un campo DOCVARIABLE con el nombre de variable adecuado.

Sintaxis : expression.Add (Name, Value)

With ActiveDocument 
 .Variables.Add Name:="Temp", Value:="12" 
 .Fields.Add Range:=Selection.Range, _ 
 Type:=wdFieldDocVariable, Text:="Temp" 
End With 
ActiveDocument.ActiveWindow.View.ShowFieldCodes = False

Arguments

Un argumento con nombre

Name (String) - Nombre de la variable del documento.

Los siguientes argumentos son opcionales

Value (Variant) - Valor de la variable del documento.

Variables.Count

Devuelve un Long que representa el número de variables de la colección.

Dim lngCount As Long
lngCount = ActiveDocument.Variables.Count

Variables.Item

Devuelve un objeto variable individual de una colección.

Sintaxis : expression.Item (Index)

Index: El objeto individual que se va a devolver.

Dim vrb As Variable
Set vrb = ActiveDocument.Variables(Index:=1)

Variables.Parent

Devuelve un objeto Object que representa el objeto primario del objeto Variables especificado.

Dim objParent As Object
Set objParent = ActiveDocument.Variables.Parent