Esconder hoja de Excel

22/07/2006 - 03:17 por Alejandro Arellano | Informe spam
Hola que tal buenas tardes,, un gran saludos a todos!!

Recurro a ustedes por que estoy hecho un lio con una aplicacion que estoy
haciendo en excel,, he hecho un formulario por medio de modulo vba de excel
para que capturen los datos en el y no en la hoja directamente,, ahora mi
pregunta ¿como se puede hacer para que al abrir el archivo oculte todas las
hojas de excel y solo muestre el formulario?? se puede hacer esto??

De antemano muchas gracias,, agradecere cualquier ayuda!! Saludos!!

Preguntas similare

Leer las respuestas

#11 Francisco Parrilla
22/07/2006 - 08:17 | Informe spam
Sr. muy interesante el codigo, cada dia se aprende algo, solo un pequeño
detalle para fines ilustrativos.

Windows("oculto todo.xls").Visible = True
Workbooks(ThisWorkbook.Name).Sheets("Sheet1").Activate
Range("A1") = TextBox1.Text
Windows("oculto todo.xls").Visible = False

Tu codigo se desplaza con estas lineas :)

Workbooks("tu libro.xls").active
Windows("tu libro.xls").Visible = True

Aunque cumple con los requisitos basicos :)

Yo me referia a otra linea de codigo.
Saludos

Atte.
?T Francisco T?
http://groups.msn.com/ExcelVbaMacrosOffice
El verdadero buscador crece y aprende, y descubre que siempre es el
principal responsable de lo que sucede.
Jorge Bucay
Respuesta Responder a este mensaje
#12 Héctor Miguel
22/07/2006 - 10:41 | Informe spam
hola, chicos !

Francisco Parrilla escribio en el mensaje ...
Solo para fines de desmostracion :)
http://mx.geocities.com/gozalo_ya/V...cultas.xls
Baja el libro y veraz que si se puede ;)



algunos -posibes y... 'ligeros'-... 'inconvenientes'...

1) si el 'objetivo' -principal- de la consulta de Alejandro ES...
-> un formulario... para que capturen los datos en el y no en la hoja directamente...
... que al abrir el archivo oculte todas las hojas... y solo muestre el formulario??...

-> [si bien es cierto que las hojas de un complemento -aun 'simulado'- se pueden 'usar' como las hojas de un libro 'normal']...
-> haria falta codigo -adicional y mas...- 'desgastante' para 'rescatar/administrar'/... los datos que se vayan depositando

2) mantener presionada la tecla {mayus} cuando se abre 'el libro-complemento'... INHIBE la ejecucion de los eventos de apertura...
cualquier usuario 'despistado' [o 'mal intencionado'] podrias causarle 'estragos' al libro [y posiblemente a su contenido]

3) la 'grabacion' del archivo... CREA un libro 'fantasma' con el nombre de 'FALSE.XLS'
-> la segunda vez -o cualquiera siguiente- que se abre [al salir-grabar]... AVISA que ya 'existe' un libro llamado 'false' :-((
-> ello 'indica' que estas 'forzando' una instruccion 'SaveAs' [o quizas 'fozando' la propiedad de 'compartido'] -?-

4) [creo que]... para 'fines de demostracion'... [y a reserva de que Alejandro comentara detalles mas... 'sustanciosos']...
es una posibilidad que 'pinta' como buena alernativa [con algo mas de prevencion/correccion/... de -posibles- imponderables]

5) con seguridad [y aqui 'insisto':... a reserva de que Alejandro comentara detalles mas... 'sustanciosos']...
existira un numero 'atractivo' de -otros- 'trucos' que podrian combinarse con los que estes utilizando en 'la demostracion'
[suponiendo que estas dispuesto a... compartirlos] :))

saludos,
hector.
Respuesta Responder a este mensaje
#13 Francisco Mty
22/07/2006 - 22:54 | Informe spam
hola Hector :)

Como siempre en lo personal espero tus comentarios dada la certeza con que
expones tus comentarios y por que de ellos me ha tocado aprender mucho de lo
que se ... y en respuesta en algunas de tus observaciones :)

"Héctor Miguel" escribió:

hola, chicos !

> Francisco Parrilla escribio en el mensaje ...
> Solo para fines de desmostracion :)
> http://mx.geocities.com/gozalo_ya/V...cultas.xls
> Baja el libro y veraz que si se puede ;)

algunos -posibes y... 'ligeros'-... 'inconvenientes'...

1) si el 'objetivo' -principal- de la consulta de Alejandro ES...
-> un formulario... para que capturen los datos en el y no en la hoja directamente...
... que al abrir el archivo oculte todas las hojas... y solo muestre el formulario??...

-> [si bien es cierto que las hojas de un complemento -aun 'simulado'- se pueden 'usar' como las hojas de un libro 'normal']...
-> haria falta codigo -adicional y mas...- 'desgastante' para 'rescatar/administrar'/... los datos que se vayan depositando



Esto es sencillamente activando el libro cada vez que se guardan los datos
en el libro no afecta en las propiedades del mismo, el archivo si lo notas es
un XLS con la propiedad de XLA, el cual no pierde aun si lo abres sin macros
y que por ende solo la pierde por codigo como todo en VBA pero igualmente el
libro esta protegido para eso, pero como se ha visto siempre existe un
metdodo para todo :)


2) mantener presionada la tecla {mayus} cuando se abre 'el libro-complemento'... INHIBE la ejecucion de los eventos de apertura...
cualquier usuario 'despistado' [o 'mal intencionado'] podrias causarle 'estragos' al libro [y posiblemente a su contenido]



3) la 'grabacion' del archivo... CREA un libro 'fantasma' con el nombre de 'FALSE.XLS'
-> la segunda vez -o cualquiera siguiente- que se abre [al salir-grabar]... AVISA que ya 'existe' un libro llamado 'false' :-((
-> ello 'indica' que estas 'forzando' una instruccion 'SaveAs' [o quizas 'fozando' la propiedad de 'compartido'] -?-



En esta parte es una omision personal el dato del "false.xls" ya no lo quise
depurar era mera cuestion de exponer el dato :)
No va por ninguno de ambos lados :)

4) [creo que]... para 'fines de demostracion'... [y a reserva de que Alejandro comentara detalles mas... 'sustanciosos']...
es una posibilidad que 'pinta' como buena alernativa [con algo mas de prevencion/correccion/... de -posibles- imponderables]

5) con seguridad [y aqui 'insisto':... a reserva de que Alejandro comentara detalles mas... 'sustanciosos']...
existira un numero 'atractivo' de -otros- 'trucos' que podrian combinarse con los que estes utilizando en 'la demostracion'
[suponiendo que estas dispuesto a... compartirlos] :))
Respuesta Responder a este mensaje
#14 Héctor Miguel
23/07/2006 - 00:39 | Informe spam
hola, Francisco !

-> [confirmado ahora que 'SI'...]... si 'unicamente' estas 'forzando' la propiedad 'IsAddin' [.XLA] sobre un '.XLS'...

1) [creo que] se puede 'aligerar la carga' [y el codigo] si una vez 'preparado' el libro [y el codigo necesario para la administracion]...
a) lo guardas 'de manera normal' [p.e. con el nombre de: XLScomoXLA.xls] desde la interfase de usuario [archivo / guardar...]
-> lo que sigue es 'importante' hacerlo... -> desde el editor de vba...
b) aplicas claves al proyecto de macros [mas todo tipo de medidas de prevencion/correccion/... que se te ocurran]
c) le aplicas la propiedad 'IsAddin' -> en True => desde la ventana de propiedades en el editor de vba [obviamente estando 'activo']
d) pulsas el boton 'guardar' [o por -menu- archivo / guardar...] desde el editor de vba
[la propiedad de 'IsAddin' tampoco se pierde cada vez que lo abras... a menos que por codigo 'se la quites'] :D
e) desde 'sus propios codigos'... -siempre- puedes hacer referencia a 'ThisWorkbook' [o personalizar 'CodeNames'] ;)

2) un 'inconvente' seria la necesidad de 'guardarlo' -al menos- cada vez que ocurran cambios [permanentes ?] con algo +/- asi...
Sub Probando_AddIn()
Dim Sig As Byte
With Workbooks("XLScomoXLA.xls")
For Sig = 1 To 10
.Worksheets("hoja1").Range("a65536").End(xlUp).Offset(1) = "Nuevo " & Sig
Next
.Save
End With
End Sub

3) para -> RESCATAR/administrar/... los datos que se hayan 'actualizado' [recuerda que es 'tratado' como un '.XLA']...
si no quieres desarrollar codigos mas... 'exhaustivos/agresivos/...' -> 'revierte' el procedimiento del punto 1-c [anterior]
o... ??? [para que puedas 'visualizar' el contenido -de sus objetos 'Sheets'- del 'semi-XLA'] ;)
y no olvides 'restablecerlo' [como AddIn] Y... guardarlo [desde el editor de vba] :D

[obvio que] son -solo- algunos 'trucos mas' que podran/deberan/.. combinarse con otros que 'mejor acomoden' a X_necesidades :))

saludos,
hector.

__ algunas fracciones del mensaje anterior __
algunos -posibes y... 'ligeros'-... 'inconvenientes'...

1) si el 'objetivo' -principal- de la consulta de Alejandro ES...
-> un formulario... para que capturen los datos en el y no en la hoja directamente...
... que al abrir el archivo oculte todas las hojas... y solo muestre el formulario??...

-> [si bien es cierto que las hojas de un complemento -aun 'simulado'- se pueden 'usar' como las hojas de un libro 'normal']...
-> haria falta codigo -adicional y mas...- 'desgastante' para 'rescatar/administrar'/... los datos que se vayan depositando



... activando el libro cada vez que se guardan los datos en el libro no afecta en las propiedades del mismo
... es un XLS con la propiedad de XLA, el cual no pierde aun si lo abres sin macros... solo... por codigo como todo en VBA
... igualmente el libro esta protegido para eso, pero como se ha visto siempre existe un metdodo para todo :)

2) mantener presionada la tecla {mayus} cuando se abre 'el libro-complemento'... INHIBE la ejecucion de los eventos de apertura...
cualquier usuario 'despistado' [o 'mal intencionado'] podrias causarle 'estragos' al libro [y posiblemente a su contenido]
3) la 'grabacion' del archivo... CREA un libro 'fantasma' con el nombre de 'FALSE.XLS'
-> la segunda vez -o cualquiera siguiente- que se abre [al salir-grabar]... AVISA que ya 'existe' un libro llamado 'false' :-((
-> ello 'indica' que estas 'forzando' una instruccion 'SaveAs' [o quizas 'fozando' la propiedad de 'compartido'] -?-



... una omision personal el dato del "false.xls" ya no lo quise depurar era mera cuestion de exponer el dato :)
Respuesta Responder a este mensaje
#15 Alejandro Arellano
23/07/2006 - 01:53 | Informe spam
Muchas gracias por toda la ayuda,, por lo que quisiera agradecer la atencion
a este problemilla,,

Si la duda es para que lo quiero es porque lo que quiero hacer es hacer una
pequeña planilla para que el usuario pueda capturar toda una relacion de
datos parecidas a las facturas,, un fin de esto es que el usuario no pueda
mover nada de los formatos establecidos a los campos, solo que introduzca
datos,, y enviar el archivo por correo electronico,, otro de los fines es
que se han de preguntar porque no hacer con otro tipo de programa,, la
respuesta es sencilla en la empresa no tienen cargado ningun otro programa
compatible en el que se pueda hacer esto ademas que este archivo se enviara
por correo electronico a varias sucursales, tampoco puedo crear un
exe(ejecutable) porque como ya sabran la seguridad de la rede impide el paso
o instalacion de algun tipo de estos archivos,, se habia pensado en una
solucion alterna para poner una pagina web al sitio ya existente pero de
aqui a que la empresa autoriza algo tan sencillo ya paso medio año jiji,,
en pocas palabras la red es muy cerrada y no cuenta con grandes programas
multiusuario,, por lo que la unica solucion que he encontrado ahorita es un
excel y tratar de cerrar lo mas posible la alteracion de la pagina por el
usuario,, aunque sabemos que nada es infalible,,

Nuevamente les agradezco mucho la atencion,, y tratare de probar las
soluciones antes expuestas, aunque si ya con esta pequeña referencia alguien
tuviera una mejor idea la sugerencia seria bienvenida,, Saludos!!!

"Servando" escribió en el mensaje
news:

Alejandro:
Después de la excelente catedra que nos ha dado Francisco y de lo que
he aprendido de el, ahora puedo decirte lo siguiente:

Excel, no permite ocultar todas sus hojas, pero si puedes ocultar el
libro (cosa muy diferente a ocultar las hojas). Para lograr el efecto
que deseas, tienes que escribir unas pequeñas rutinas de VBA en tu
libro.

en el código de ThisWorkbook, escribe/copia estos eventos:

Private Sub Workbook_Open()
Application.ScreenUpdating = False
Application.Run "TuRutinaFormulario" 'llamas a la rutina que
presenta tu formulario
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = True
MsgBox ("Adios")
End Sub

Ahora te pongo un ejemplo muy sencillo de lo que hace el boton que
graba tus datos en la hoja de trabajo
.
Private Sub CmdGraba_Click()

Windows("oculto todo.xls").Visible = True
Workbooks(ThisWorkbook.Name).Sheets("Sheet1").Activate
Range("A1") = TextBox1.Text
Windows("oculto todo.xls").Visible = False

End Sub

Como te puedes dar cuenta, mi libro se llama "oculto todo.xls", y tu
debes poner el nombre del tuyo.

A tu botón donde cierras el formulario, añádele el código necesario
para guardar y cerrar el libro y evitar la perdida de tus datos.

Si no añades el código de guardar y cerrar, solo podrás cerrar el
archivo cerrando excel y te preguntara si guarda los cambios.

También puedes hacerlo, volviendo a mostrar el libro, para que te
habilite los comandos correspondientes.

Si tienes alguna duda, por favor comentala

Saludos
Servando Villalón

P.D. Si no hay alguien disponible, posiblemente Francisco pueda
amablemente ayudarte a resolver tus dudas.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida