Ocultar opciones de guardar

27/04/2010 - 01:56 por Francesca Brasso | Informe spam
Hola, ¿cómo podría ocultar todas las opciones que ofrece Excel de guardar el
libro abierto para que el usuario únicamente lo pueda guardar mediante el
click en un CommandButton al que yo le asignaría el código al efecto?
Francesca

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
27/04/2010 - 02:37 | Informe spam
hola, Francesca !

como podria ocultar todas las opciones que ofrece Excel de guardar el libro abierto
para que el usuario unicamente lo pueda guardar mediante el click en un CommandButton
al que yo le asignaria el codigo al efecto?



asumiendo que "el libro abierto" NO va a ser "cualquiera", sino (especificamente) el que contiene tus codigos (?)
copia/pega (o escribe) lo siguiente en el modulo de codigo de ese libro (ThisWorkbook)

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = SaveAsUI
End Sub

saludos,
hector.
Respuesta Responder a este mensaje
#2 Francesca Brasso
27/04/2010 - 02:55 | Informe spam
No me funciona Héctor, el botón de guardar sigue estando disponible.


"Héctor Miguel" escribió en el mensaje de
noticias news:
hola, Francesca !

como podria ocultar todas las opciones que ofrece Excel de guardar el
libro abierto
para que el usuario unicamente lo pueda guardar mediante el click en un
CommandButton
al que yo le asignaria el codigo al efecto?



asumiendo que "el libro abierto" NO va a ser "cualquiera", sino
(especificamente) el que contiene tus codigos (?)
copia/pega (o escribe) lo siguiente en el modulo de codigo de ese libro
(ThisWorkbook)

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = SaveAsUI
End Sub

saludos,
hector.

Respuesta Responder a este mensaje
#3 Héctor Miguel
27/04/2010 - 04:52 | Informe spam
hola, Francesca !

No me funciona... el boton de guardar sigue estando disponible.



este truco solo impide que el libro se "guarde" como formato de excel por la interfaz de usuario
aunque el boton siga disponible, no hace lo que el usuario "espera" (pero por codigo si se puede guardar) p.e.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = SaveAsUI: MsgBox "Utiliza el boton ""fulano"" !"
End Sub

si quieres "manipular" los comandos, has de prevenir el uso de los atajos tambien (idiomas diferentes ?)
ademas de anticipar bajo que version se usa tu libro (desde xl-2007 no es el mismo modelo de objetos) :-((

comentas "hasta donde quieres llegar" ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 Ignacio
27/04/2010 - 11:04 | Informe spam
¡Hola, Francesca Brasso!

Si lo que quieres es desactivar los botones de la barra de
herramientas y las opciones de menú que tengan el comando Guardar
ejecuta el siguiente código:

Private Sub DesactivaComandoGuardar()
Dim ctrl As CommandBarControl

For Each ctrl In CommandBars.FindControls(msoControlButton, 3)
ctrl.Enabled = False
Next
End Sub

Acuérdate de volver a activar los controles cuando cierres el libro
poniendo ctrl.Enabled = True en el mismo bucle.
Para que funcione el código debes establecer una referencia a la
librería de Office: Microsoft Office 10.0 Object Library o una versión
superior.

Espero que te funcione.

Un saludo,
Ignacio.
Respuesta Responder a este mensaje
#5 Francesca Brasso
27/04/2010 - 21:13 | Informe spam
Eso es exactamente lo que quiero, Ignacio: desactivar cualquier modo de
guardar mediante el menú o accesos directos del menú, como Ctrl+G.
Pero no, no me funciona.
Tengo la referencia a Microsoft Office 12 Object Library.
Probé poniendo el código en un módulo, en ThisWorkbook y en el código de la
hoja activa. También en el evento Auto_Open.
Algo estaré haciendo mal ...

Saludos
Francesca

"Ignacio" escribió en el mensaje de noticias
news:
¡Hola, Francesca Brasso!

Si lo que quieres es desactivar los botones de la barra de
herramientas y las opciones de menú que tengan el comando Guardar
ejecuta el siguiente código:

Private Sub DesactivaComandoGuardar()
Dim ctrl As CommandBarControl

For Each ctrl In CommandBars.FindControls(msoControlButton, 3)
ctrl.Enabled = False
Next
End Sub

Acuérdate de volver a activar los controles cuando cierres el libro
poniendo ctrl.Enabled = True en el mismo bucle.
Para que funcione el código debes establecer una referencia a la
librería de Office: Microsoft Office 10.0 Object Library o una versión
superior.

Espero que te funcione.

Un saludo,
Ignacio.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida