Deshabilitar comandos HM (?)

31/01/2007 - 17:54 por Albymar | Informe spam
Hola a todos...
Estoy trabajando sobre un modelo e intentando aplicar la deshabilitacion de
comandos, Guardar y guardar como. (tal y como lo explica Hector Miguel en
"como proteger un trabajo intelectual desarrollado en excel" en
www.sistemaslym.net/vba/excel/exarc1.html)...

El problema lo tengo cuando teniendo otros archivos excel abiertos, y cierro
el archivo donde he deshabilitado estos comandos, entonces, EXCEL detecta un
problema y se cierra totalmente, perdiendo todos los archivos abiertos
¿por que? ¿que hago mal? ¿es problema de Excel? ¿hay solucion?.
Utilizo Excel2003
El codigo que utilizo (simplificado) es:
Private Sub Workbook_Open()
Application.CommandBars("File").Controls("Guardar").Enabled = False
Application.CommandBars("File").Controls("Guardar como...").Enabled = False
Application.CommandBars("Standard").Controls(3).Enabled = False
End Sub

Private Sub Workbook_BeforeClose(cancel As Boolean)
Application.CommandBars("File").Controls("Guardar").Enabled = True
Application.CommandBars("File").Controls("Guardar como...").Enabled = True
Application.CommandBars("Standard").Controls(3).Enabled = True
ThisWorkbook.Close Savechanges:=False
End Sub

Saludos y gracias por anticipado
 

Leer las respuestas

#1 Héctor Miguel
01/02/2007 - 05:58 | Informe spam
hola, ?

1) no estoy -muy- seguro de que los problemas que comentas se deban al uso [o forma de uso] de las 'tecnicas' sugeridas -?-
dado que la fraccion de codigo que expones, incluso comentas que esta... 'simplificada' -?-
por lo que existe la posibilidad de que la falla sea originada por otro tipo de eventos/controles/objetos/librerias/... -?-

2) [probablemente] necesitaras modificar la referencia 'textual' a los comandos [guardar y guardar como...] por sus numeros de ID -?-
me explico: aun cuando vba 'acepta' los nombres de barras/menus/herramientas [principales] en ingles...
los nombres-'Caption' de los comandos [seguramente] tendran la representacion segun el idioma instalado de la aplicacion [p.e.]
a) el menu "Archivo" puede ser llamado/referido/usado/... en vba como Application.CommandBars("File") PERO...
b) el comando "Guardar como..." [en castellano]... para instalacion en ingles 'pasa' a llamarse: -> "Save As" [sin embargo]...
independientemente del idioma instalado de la aplicacion, su numero de ID sera -siempre- :-> 748
-> visita la pagina sugerida en el articulo para conocer los ID's de los comandos y menus en excel ;)

3) igualmente [y dicho sea, 'de paso']... considera que el tercer control que TU tienes en la barra de herramientas 'estandar'
pudiera encontrarse en posicion distinta en la barra de herramientas estandar de otro usuario/pc/... -?-

[por lo pronto]... comentas [si hubiera] algun detalle adicional ?
saludos,
hector.

__ la consulta original __
... intentando aplicar la deshabilitacion de comandos, Guardar y guardar como...
... problema... teniendo otros archivos.. abiertos, y cierro el archivo donde he deshabilitado estos comandos
... EXCEL detecta un problema y se cierra totalmente, perdiendo todos los archivos abiertos
por que? que hago mal? es problema de Excel? hay solucion?. Utilizo Excel2003

El codigo que utilizo (simplificado) es:
Private Sub Workbook_Open()
Application.CommandBars("File").Controls("Guardar").Enabled = False
Application.CommandBars("File").Controls("Guardar como...").Enabled = False
Application.CommandBars("Standard").Controls(3).Enabled = False
End Sub

Private Sub Workbook_BeforeClose(cancel As Boolean)
Application.CommandBars("File").Controls("Guardar").Enabled = True
Application.CommandBars("File").Controls("Guardar como...").Enabled = True
Application.CommandBars("Standard").Controls(3).Enabled = True
ThisWorkbook.Close Savechanges:=False
End Sub

Preguntas similares