Forums Últimos mensajes - Powered by IBM
 

eliminar control del menu bar

29/07/2005 - 21:22 por Drom | Informe spam
supongamos que quiero eliminar un control de una barra de herramientas, o
bien del menu bar.

es decir supongamos que quiero eliminar un control dado de la barra de
herramientas Formato.



Hi and many thanks in advance!

1) si quiero añadir 5 controles, como el control "&Visual Basic Editor" en
la barra de herramientas estandar la siguiente macro serviria:

Sub B()
Dim X As Byte
For X = 1 To 5
Application.CommandBars("Standard").Controls.Add
Type:=msoControlButton, ID:95, Before:=1
' "&Visual Basic Editor" > ID = 1695
Next X
End Sub

2) Si quisiera eliminar este control en todas las barras de herramientas
existentes en excel, la siguiente macro serviria:


Sub Disable1695Controls()
Dim CBControl As CommandBarControl
Dim CBar As Integer
Dim X As Byte
Application.ScreenUpdating = False
On Error Resume Next
For CBar = 1 To Application.CommandBars.Count
For Each CBControl In CommandBars(CBar).Controls
If CBControl.ID = 1695 Then CBControl.Enabled = False
Application.CommandBars(CBar).FindControl(ID:95,
Recursive:=True).Enabled = False
Next CBControl
Next CBar
Application.OnKey "%{F11}", ""
On Error GoTo 0
End Sub






3) si quiero añadir 5 controles, tales que el: "&Visual Basic Editor" en el
menu archivo del menu "Barra de menus de la hoja" la siguiente macro sirve:

Sub C()
Dim X As Byte
For X = 1 To 5
Application.CommandBars("File").Controls.Add Type:=msoControlButton,
ID:95, Before:=1
'"&Visual Basic Editor" ID = 1695
Next X
End Sub




pero:

Como podria eliminar cada uno de estos 5 controles a traves de vba, "he
dicho 5, pero podrian ser X".
como podria eliminar estos controles cuando estan dentro de otros controles
y/o menus.
tal que por ejemplo el control presente en herramientas\macro\editor de
visual basic

o uno mismo que yo mismo hubiera podido crear en una barra de herramientas
personalizada en donde hubiera podido poner ademas del icono abrir, cerrar
etc, 3 controles cuyo id95, uno tras otro y despues otros 4 dentro de un
menu en esta misma barra de herramientas personalizada


Gracias!!
 

Leer las respuestas

#1 KL
29/07/2005 - 23:34 | Informe spam
Hola Drom,

No se si te he entendido bien, pero prueba este codigo:

'Para crear controles con un Tag
Sub C()
Dim x As Byte
For x = 1 To 5
Application.CommandBars("File").Controls.Add( _
Type:=msoControlButton, _
ID:95, _
Before:=1).Tag = "Button" & x
Next x
End Sub

'Para eliminar un control a partir de sus parametros
'El unico parametro caracteristico de este y solo este boton es su Tag.
Sub D()
Application.CommandBars("File").FindControl( _
Type:=msoControlButton, _
ID:95, _
Tag:="Button3", _
Recursive:=True).Delete
End Sub

Saludos,
KL


"Drom" wrote in message
news:


supongamos que quiero eliminar un control de una barra de herramientas, o
bien del menu bar.

es decir supongamos que quiero eliminar un control dado de la barra de
herramientas Formato.



Hi and many thanks in advance!

1) si quiero añadir 5 controles, como el control "&Visual Basic Editor" en
la barra de herramientas estandar la siguiente macro serviria:

Sub B()
Dim X As Byte
For X = 1 To 5
Application.CommandBars("Standard").Controls.Add
Type:=msoControlButton, ID:95, Before:=1
' "&Visual Basic Editor" > ID = 1695
Next X
End Sub

2) Si quisiera eliminar este control en todas las barras de herramientas
existentes en excel, la siguiente macro serviria:


Sub Disable1695Controls()
Dim CBControl As CommandBarControl
Dim CBar As Integer
Dim X As Byte
Application.ScreenUpdating = False
On Error Resume Next
For CBar = 1 To Application.CommandBars.Count
For Each CBControl In CommandBars(CBar).Controls
If CBControl.ID = 1695 Then CBControl.Enabled = False
Application.CommandBars(CBar).FindControl(ID:95,
Recursive:=True).Enabled = False
Next CBControl
Next CBar
Application.OnKey "%{F11}", ""
On Error GoTo 0
End Sub






3) si quiero añadir 5 controles, tales que el: "&Visual Basic Editor" en
el menu archivo del menu "Barra de menus de la hoja" la siguiente macro
sirve:

Sub C()
Dim X As Byte
For X = 1 To 5
Application.CommandBars("File").Controls.Add
Type:=msoControlButton, ID:95, Before:=1
'"&Visual Basic Editor" ID = 1695
Next X
End Sub




pero:

Como podria eliminar cada uno de estos 5 controles a traves de vba, "he
dicho 5, pero podrian ser X".
como podria eliminar estos controles cuando estan dentro de otros
controles y/o menus.
tal que por ejemplo el control presente en herramientas\macro\editor de
visual basic

o uno mismo que yo mismo hubiera podido crear en una barra de herramientas
personalizada en donde hubiera podido poner ademas del icono abrir, cerrar
etc, 3 controles cuyo id95, uno tras otro y despues otros 4 dentro de
un menu en esta misma barra de herramientas personalizada


Gracias!!


Preguntas similares