Saltar al contenido

Propiedad TAG en Controles


Recommended Posts

publicado

Saludos.

Investigando sobre TAG en la Ayuda de VBA, encontré un código que ilustra como utlizar esta propiedad.

He tratado de poder usarlo, sin resultados favorables.

Adjunto el archivo donde he estado probando, sin lograr que funcione.

Agradezco mucho la ayuda al respecto.

PROPIEDAD TAG.xls

publicado

Hola

Directamente de la ayuda

Propiedad Tag

Almacena información adicional sobre un objeto.

Sintaxis

objeto.Tag [= String]

La sintaxis de la propiedad Tag consta de las siguientes partes:

[TABLE]

[TR]

[/TR]

[TR]

[TD=class: TT]objeto[/TD]

[TD=class: TT]Requerido. Un objeto válido.[/TD]

[/TR]

[TR]

[TD=class: TT]String[/TD]

[TD=class: TT, width: 79%]Opcional. Una expresión de cadena que identifica al objeto. El valor predeterminado es una cadena de longitud cero ("").[/TD]

[/TR]

[/TABLE]

Comentarios

Utilice la propiedad Tag para asignar una cadena de identificación a un objeto sin que afecte a los valores de otras propiedades o atributos.

Por ejemplo, puede utilizar la propiedad Tag para comprobar la identidad de un formulario o un control que se transfirió como una variable a un procedimiento.

Ejemplo de la propiedad Tag

El siguiente ejemplo utiliza la propiedad Tag para almacenar información adicional acerca de cada control del objeto UserForm. El usuario hace clic en un control y después hace clic en el control CommandButton. El contenido de la propiedad Tag del control adecuado se devuelve en el control TextBox.

Para utilizar este ejemplo, copie este código de ejemplo en la parte Declaraciones de un formulario. Asegúrese de que el formulario contiene:

  • Un control TextBox llamado TextBox1.
  • Un control CommandButton llamado CommandButton1.
  • Un control ScrollBar llamado ScrollBar1.
  • Un control ComboBox llamado ComboBox1.
  • Un control MultiPage llamado MultiPage1.

Private Sub CommandButton1_Click()
TextBox1.Text = ActiveControl.Tag
End Sub

Private Sub UserForm_Initialize()
TextBox1.Locked = True
TextBox1.Tag = "Display area for Tag properties."
TextBox1.AutoSize = True

CommandButton1.Caption = "Show Tag of Current " _
& "Control."
CommandButton1.AutoSize = True
CommandButton1.WordWrap = True
CommandButton1.TakeFocusOnClick = False
CommandButton1.Tag = "Shows tag of control " _
& "that has the focus."

ComboBox1.Style = fmStyleDropDownList
ComboBox1.Tag = "ComboBox Style is that of " _
& "a ListBox."

ScrollBar1.Max = 100
ScrollBar1.Min = -273
ScrollBar1.Tag = "Max = " & ScrollBar1.Max _
& " , Min = " & ScrollBar1.Min

MultiPage1.Pages.Add
MultiPage1.Pages.Add
MultiPage1.Tag = "This MultiPage has " _
& MultiPage1.Pages.Count & " pages."
End Sub[/PHP]

[b] Saludos desde Honduras[/b]

publicado

Saludos.

Te agradezco mucho la ayuda.

Ya probé lo consignado en tu respuesta y todo bien.

Pero me estoy refiriendo a TAG en Office, no al caso de aplicarse a las Userform.

El siguiente es el texto de la ayuda encontrada:

Propiedad Tag

Vea también Corresponde a EjemploDetalles

Devuelve o establece la información acerca del control de barra de comandos, por ejemplo, los datos que pueden utilizarse como argumentos en procedimientos y la información que identifica el control. String de Lectura/Escritura.

expresión.Tag

expresión Requerida. Expresión que devuelve uno de los objetos de la lista Aplicar a.

Comentarios

Para evitar llamadas duplicadas de la misma clase cuando se activa con eventos, defina la propiedad Tag como exclusiva en los eventos. El siguiente ejemplo demuestra este concepto mediante dos módulos.

Public WithEvents oBtn As CommandBarButton

Private Sub oBtn_click(ByVal ctrl As Office.CommandBarButton, CancelDefault As Boolean)

MsgBox "Clicked " & ctrl.Caption

End Sub

Dim oBtns As New Collection

Sub Use_Tag()

Dim oEvt As CBtnEvent

Set oBtns = Nothing

For i = 1 To 5

Set oEvt = New CBtnEvent

Set oEvt.oBtn = Application.CommandBars("Worksheet Menu Bar").Controls.Add(msoControlButton)

With oEvt.oBtn

.Caption = "Btn" & i

.Style = msoButtonCaption

.Tag = "Hello" & i

End With

oBtns.Add oEvt

Next

End Sub

Ejemplo

Este ejemplo establece el rótulo para el botón de la barra de comandos en "Spelling Button" y lo muestra en un cuadro de mensaje.

CommandBars("Custom").Controls(1).Tag = "Spelling Button"

MsgBox (CommandBars("Custom").Controls(1).Tag)

La idea es ver como funciona el ejemplo de los dos módulos.

Gracias

  • 2 weeks later...
publicado

Saludos.

Ya he solucionado la duda.

Adjunto archivo con los procedimientos, para quien estuviese interesado.

La única diferencia con el inicial, es que creo una nueva Barra de Comandos, con el objeto de no utilizar y modificar la Barra de Menu de la Hoja, como está planteado en la Ayuda encontrada.

De parte mía puede darse por SOLUCIONADO el Tema.

PROPIEDAD TAG FORO.xls

  • 3 months later...
publicado

Estoy tratando de agregar un boton en el contextual de excel, con los comentarios que han hecho he entendido una macro que realiza lo que busco.

Gracias a todos.

Carlos

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.