............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Cerrar Proyecto VBA

Ver el tema anterior Ver el tema siguiente Ir abajo

Cerrar Proyecto VBA

Mensaje por Albymar el Vie Jun 12, 2009 1:24 pm

Hola a tod@s,
Tengo un libro Excel con un proyecto VBA (protegido con contraseña) ...
Si el libro no cumple una serie de condiciones, se elimina (Kill ThisWorkbook.FullName) ...
¿Por qué una vez eliminado, me pide la contraseña del Proyecto VBA?
¿Que debo hacer para evitar esto?
Saludos y GRACIAS a tod@s.
Albymar

Albymar

Cantidad de envíos : 9
Fecha de inscripción : 28/06/2008

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por jairga el Vie Jun 12, 2009 1:33 pm

Creo que podrias pobrar en: Seguridad>Editores de confianza>desactiva la casilla que dice = confirmar en el acceso a proyectos de visual basic

no estoy seguro pero prueba y comentas

saludos

jairga
Moderador
Moderador

Masculino Cantidad de envíos : 163
Edad : 39
Ciudad - Pais : Cartagena-Barranquilla(Colombia)
Version de Excel : XP-2003-2007
Fecha de inscripción : 11/03/2008

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por Albymar el Vie Jun 12, 2009 1:37 pm

Dios... que rapidez!!!!
Muchas GRACIAS Jairga, voy a probarlo y te cuento algo ...
Albymar

Albymar

Cantidad de envíos : 9
Fecha de inscripción : 28/06/2008

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por Albymar el Vie Jun 12, 2009 1:46 pm

No ha funcionado Jairga, me sigue pidiendo la contraseña en la ventana "VBA Project Contraseña" y despues de tres o cuatro "Cancelar" ... deaparece... (un engorro).
GRACIAS por tu interes ...
... me voy para casa ... alli seguire este hilo.
Saludos,
Albymar

Albymar

Cantidad de envíos : 9
Fecha de inscripción : 28/06/2008

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por GalileoGali el Vie Jun 12, 2009 2:09 pm

Albymar, seria necesario contar con el codigo de esta ultima macro para ver de donde venimos y adonde vamos

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional

GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por Albymar el Dom Jun 14, 2009 4:37 am

Hola a todos,
Perdonar por la tardanza, pero ayer sábado no pude conectarme.
Bueno, al asunto... os paso datos:
- uso WindowsXP y Excel 2007 (también Excel 2003)
- y el código es:

En el Módulo ThisWorkbook:
Private Sub Workbook_Open()
If Date > #12/31/2009# Then AnularAcceso
End Sub

En un módulo General:

Sub AnularAcceso()
Application.DisplayAlerts = False
Windows(ThisWorkbook.Windows(1).Caption).Visible = False
AnularAccesoForm.Show
ThisWorkbook.ChangeFileAccess Mode:=xlReadOnly
Kill ThisWorkbook.FullName
ThisWorkbook.Close SaveChanges:=False
End Sub

En el código del UserForm:

Private Sub UserForm_Activate()
Application.Wait Now + TimeValue("00:00:05")
AnularAccesoForm.Hide
End Sub

Eso es todo, GRACIAS a tod@s por vuestra ayuda e interes,
Albymar

Albymar

Cantidad de envíos : 9
Fecha de inscripción : 28/06/2008

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por GalileoGali el Dom Jun 14, 2009 9:41 am

No lo pruebo por razones obvias de rehacer el archivo continuamente

pero fijate esto a ver si funciona

>>>>>>>>>>>>>>>>>>>>>>>>>
strPath = ThisWorkbook.FullName
ThisWorkbook.Close SaveChanges:=False
Kill strPath

End Sub

Pues que no funciona esta inversion:
Primero hay que lograr que Excel se refiera al Archivo en su posicion en el Disco Rigido (es decir referido no a la copia de la memoria temporal), para esto
ThisWorkbook.ChangeFileAccess xlReadOnly
Luego se destruye con KILL ese archivo en el disco
Para finalemente "cerrar" el archivo (su lectura en memoria temporal que deja activo el proceso de lectura de la Macro sin guardar los cambios)

RESUMIENDO: he probado tu codigo y al igual que KL y Jairga concluyo que funciona (Xl 2007 y Wind XP)

Ademas pregunto por que despues del .wait de 5 segundos haces HIde el Form en lugar de Unload?


Última edición por GalileoGali el Dom Jun 14, 2009 8:48 pm, editado 2 veces

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional

GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por jairga el Dom Jun 14, 2009 10:18 am

Albymar me he tomado el atrevimiento de reconstruir tu archivo con el codigo que aportas ayer me formatearon el pc y tengo WindowsXP y Excel 2007 y me ha funcionado el codigo sin ningun problema, no lo he probado en excel 2003 porque hasta el martes me lo instalan.

saludos


Tambien me hice la misma pregunta que gali porque Hide y no Unload

Ademas he protegido el proyecto de vba.

jairga
Moderador
Moderador

Masculino Cantidad de envíos : 163
Edad : 39
Ciudad - Pais : Cartagena-Barranquilla(Colombia)
Version de Excel : XP-2003-2007
Fecha de inscripción : 11/03/2008

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por Albymar el Lun Jun 15, 2009 6:53 am

Hola a tod@s...
y en especial a jairga y gali, GRACIAS por vuestra ayuda e interes por el tema:
Por partes:
- Si que me funciona en Excel 2003 (No pasa lo indicado), en cambio, NO con Excel 2007 (?)
- Utilizar "Hide" en lugar de "Unload". Es lo que conlleva ser un autodidacta, estudiaré el cambio de opción. Gracias.
- En el foro de Excel de Office Online, Héctor Miguel me ha dado esta explicación y que aquí comparto:
lo mas importante es que estos procedimientos "heredan" al VBE un proyecto "fantasma" (es decir): aun despues de "matado" (y cerrado) el libro con el "kill", en el VBE sigue estando "presente" y la causa es el haber mostrado un formulario (componentes ActiveX) previo a la auto-destruccion del archivo, esto sucede a partir de la version 2003 y supongo despues de las mas recientes actualizaciones instaladas (supongo que dentro de las mejoras en seguridad, la "reaccion" es diferente ante distintos objetos, metodos, etc.) considera que mientras el codigo esta corriendo (durante la presentacion del formulario)
=> el usuario tiene la opcion de pulsar {ctrl}+{pausa/break/interrupcion} Y DETENER la ejecucion de tu código (con lo cual, la auto-destruccion del archivo jamas llegara a ejecutarse) (???)
la pregunta seria: que tan importante o necesario es mostrar ese formulario (?)
si NO lo muestras, desaparecerian (todos ?) tus "problemas".


De todas formas, seguiré investigando y re-re-revisaré de nuevo el código (?)
ya os contaré ...
Reitero mis gracias a todos y en especial a vosotros dos,
Saludos,
Albymar

Albymar

Cantidad de envíos : 9
Fecha de inscripción : 28/06/2008

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por Albymar el Lun Jun 15, 2009 7:15 am

Hola de nuevo,
Gali, con respecto a la utilización de Unload en lugar de Hide, no me permite esta opción y me bloquea el código en esa instrucción ...
por lo que debo dejar; AnularAccesoForm.Hide
Utilizo Xl 2007 y Wxp
Saludos,
Albymar

Albymar

Cantidad de envíos : 9
Fecha de inscripción : 28/06/2008

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por GalileoGali el Lun Jun 15, 2009 9:55 am

Más alla de los coemntarios de Hector Miguel Orozco Diaz, MVP Microsoft y uno de los mas destacados colaboradores en los foros de habla Hispana., KL, otro MVP Microsfot MVP, probo el código en las mismas condiciones, es decir con apertura de Formulario y en Excel 2007. Viendo la respuesta de KL (en Exceluciones), arme un archivo con el Form y el mismisimo codigo que tu escribiste y los hice correr al igual que jairga en Excel 2007 con Wxp y ha funcionado sin quejas. Es mas ahora se agrega un síntoma que tambien llama la atencion y me gustaria indagar,

"con respecto a la utilización de Unload en lugar de Hide, no me permite esta opción y me bloquea el código en esa instrucción ..."

Me queda experimentar este asunto.....Lo hago y despues te cuento.....

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional

GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por GalileoGali el Lun Jun 15, 2009 10:09 am

Funciona perfectamente con

Private Sub UserForm_Activate()
Application.Wait Now + TimeValue("00:00:05")
Unload AnularAccesoForm
End Sub

Ahora bien si como dice Hector Miguel (prefiero KL porque es más corto...jejejej), la presencia del Userfform Abierto desde el VBE, interfiere en el proceso, calculo (porque en nuestros sistemas no ocurre ni aun asi), la salida con Unload, deberia evitar la interferencia.

Puedes probar para contrarrestar las acciones desde el teclado que pudieran detener la ejecucion utilizar:
Código:

  '  Al iniciar la MACRO
Application.EnableCancelKey = xlDisabled
Application.OnKey "^{BREAK}", ""

    'Antes de salir
Application.EnableCancelKey = xlInterrupt
Application.OnKey "^{BREAK}"

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional

GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por GalileoGali el Lun Jun 15, 2009 10:47 am

Ahora bien, el tema del blindaje de archivos encuentra en Auto Kill la version más drástica, ya que estamos experimentando, se me ocurría pensar en otra variante:
Si se dan las condiciones de Término de Uso, entonces cerrar el archivo colocando una contraseña larga y con inclusion de caracteres, puede llevar varios dias un Crackeo de esta contraseña. Desde ya que cualquier usuario inciado, intentara nates de que se extinga el periodo de uso desprotegfer el proyecto de VBA, que eso sí que es bien fácil.
Pero siguiendo en la línea de no-destruccion sino de Bloqueo de apertura (creo que esto incitaria, por los datos que pudiere contener el archivo, a meditar en el recupero pagando otro año de derecho a uso, cosa que con la Auto Destruccion, resulta impensable). Para que la contraseña efectiva que devuelva la apertura tuviera cierta unicidad, podria surgir de un algoritmo que tomara en cuenta el Date del Sistema al Momento de Guardar y Bloquear, de tal manera que pudiermaos enviar la clave que jeuga directamente la Fecha de ultima Modificacion

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional

GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por Albymar el Lun Jun 15, 2009 11:42 am

Gracias Gali,
- me sigue sin funcionar ... bueno, me sigue saliendo la ventana de peticion de contraseña para acceder al proyecto vba. (?) y debo darle 3 o 4 veces a cancelar para que desaparezca (¡¡¡ un engorro!!) ... ya daré con la solución, no me rindo.

- en cuanto a las contraseñas y demás parámetros para la aplicación, suelo utilizar el procedimiento Getsetting, que es el que mejor me funciona, pero ... bueno ... ya conocemos la "seguridad" en excel.
Gracias, de nuevo y saludos,
Albymar.

Albymar

Cantidad de envíos : 9
Fecha de inscripción : 28/06/2008

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por hector.valdivia el Mar Sep 27, 2016 10:33 pm

Hola Albymar han pasado 7 años y yo también tengo este problema. Me puedes ayudar por favor. Mi versión es excel 2013, y cada vez que cierro me sale ese bendito cuadro pidiendome la contraseña.

hector.valdivia

Masculino Cantidad de envíos : 2
Edad : 39
Ciudad - Pais : peru
Version de Excel : excel 2010
Fecha de inscripción : 27/09/2016

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por hector.valdivia el Mar Sep 27, 2016 10:42 pm

Les pido por favor si alguién me puede ayudar con este problema, tengo una programa en excel con macros que al momento de cerrar el programa me sale un aviso (ventana) que me pide la contraseña VBA. No se como eliminar esta ventana. Por favor necesito de su ayuda.

hector.valdivia

Masculino Cantidad de envíos : 2
Edad : 39
Ciudad - Pais : peru
Version de Excel : excel 2010
Fecha de inscripción : 27/09/2016

Volver arriba Ir abajo

Re: Cerrar Proyecto VBA

Mensaje por Contenido patrocinado Hoy a las 1:36 pm


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.