Activar y desactivar submenús

12/12/2005 - 18:20 por pac | Informe spam
Hola mediante este código, se activan y desactivan diferentes submenús en exce

Application.CommandBars("File").Controls(4).Enabled = True o Fals
‘ Desactiva o activa la opción guardar del menú Archiv

¿Como puedo hacerlo para activar o desactivar, las opciones de los submenús
Por poner un ejemplo en el menú Formato hay las opciones Celda, Fila, Columna, Hoja
En la opción Fila hay las opciones como Alto, Autoajustar, Mostrar, Ocultar
¿Cómo puedo mediante código desactivar alguna de las opciones de Fila
Es decir que yo pueda dejar la opción Fila activa y algunas de sus opciones desactivadas
Por ejemplo desactivar la opción Alto y Ocultar
Gracias por la atención prestada
pa

pac

Ver este tema: http://www.softwaremix.net/viewtopic-464605.htm

Enviado desde http://www.softwaremix.net

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
13/12/2005 - 05:14 | Informe spam
hola, pac !

Hola mediante este codigo, se activan y desactivan diferentes submenus en excel
Application.CommandBars("File").Controls(4).Enabled = True o False
‘ Desactiva o activa la opcion guardar del menu Archivo



OJO: 'siempre y cuando'... el cuarto control del menu archivo sea 'guardar' :(
'recuerda' que el usuario tiene todas las opciones de 'personalizar' las barras de menus y comandos :))

Como puedo... activar o desactivar, las opciones de los submenus?
... ejemplo en el menu Formato hay las opciones Celda, Fila, Columna, Hoja.
En la opcion Fila hay las opciones como Alto, Autoajustar, Mostrar, Ocultar.
Como puedo mediante codigo desactivar alguna de las opciones de Fila?
... dejar la opcion Fila activa y algunas de sus opciones desactivadas.
... desactivar la opcion Alto y Ocultar.



-> despues del comentario anterior [creo que] una alternativa [relativamente] mas... 'confiable'...
es hacer referencia a los 'Id' correspondientes a las opciones de comando que deseas des/re/habilitar [p.e.]
los numeros de Id para alto y ocultar [del sub-menu de fila en el menu de formato] son: 541 y 883
-> te paso un ejemplo al final
-> para mayor informacion referente a los Id de los commandbars...
visita: http://support.microsoft.com/kb/q213552/

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

ejemplo: como [supongo] va a ser una accion 'repetitiva' [eso de andar des/re/habilitando los comandos]...
te sugiero definir una funcion personalizada ejecutable solo para procedimientos vba que...
-> 'reciba' la informacion con el 'Id' del control y una variable 'booleana' para des/activarlo [p.e.]
en un modulo de codigo 'normal' ==Option Private Module
Function ActivarComando( _
ByVal Boton As Integer, _
Optional ByVal Activado As Boolean = True)
Dim Barra As CommandBar: On Error Resume Next
For Each Barra In Application.CommandBars
Barra.FindControl(Id:=Boton, Recursive:=True).Enabled = Activado
Next
End Function

y despues, dentro de las acciones 'normales' de tu codigo, puedes usarla para des/re/habilitar los comandos que le digas...
Sub Des_Habilitar_Comandos()
ActivarComando 541, False
ActivarComando 883, False
End Sub
o...
Sub Re_Habilitar_Comandos()
ActivarComando 541
ActivarComando 883
End Sub

nota: no olvides -> dejarlos habilitados ANTES de terminar con tu aplicacion <- ;)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida