Bloquear proyecto

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Re: Bloquear proyecto

Notapor badwein » 21 Nov 2005 14:25

Hola Edreher. He visto lo que has escrito sobre desconvertir un addin a un archivo excel corriente.
Lo he intentado, pero no se hacerlo.
¿Puedes por favor ayudarme?
Necesito decirle como cambiarle la propiedad IsAddin=False al archivo XLA.
Cual es la ruta para que encuentre el archivo al que tiene que cambiarle la propiedad.
Como volver visible el XLA.
Y por último cómo guardar el archivo sin cerrarlo, para después quitarle la protección de libro compartido.
De antemano por si puedes ayudarme ...........gracias

badwein
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
badwein
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Nov 2005 05:32

Notapor Edreher » 21 Nov 2005 20:04

Si deseas abrir el archivo con Excel 2000 el tipo de cifrado que debes de utilizar es "Compatible con Office 97/2000", de lo contrario estas versiones de excel no podran abrirlo aunque le proporciones la contraseña.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Edreher
Miembro Frecuente
Miembro Frecuente
 
Registrado: 07 Oct 2004 17:24
Ubicación: Veracruz, Mexico

Re: Bloquear proyecto

Notapor Edreher » 25 Nov 2005 04:53

Prueba abriendo un nuevo libro, en el editor de VB le insertas un nuevo modulo (no de clase) y en ese nuevo modulo copia el siguiente codigo:
Código: Seleccionar todo
Sub Convertir_XLA_a_XLS()
' Macro para convertir de XLA a XLS
Dim XLA As Variant, XLS As String, Libro As Workbook
XLA = Application.GetOpenFilename("Complementos (*.xla),*.xla", , , , False)
If XLA = False Then Exit Sub
Application.ScreenUpdating = False
XLS = Left(XLA, Len(XLA) - 3) & "XLS"
Set Libro = Workbooks.Open(Filename:=XLA, updatelinks:=0)
Libro.IsAddin = False
Application.Windows(Libro.Name).Visible = True
Libro.SaveAs Filename:=XLS, FileFormat:=xlNormal
Libro.Close SaveChanges:=True
Application.ScreenUpdating = True
End Sub

Una vez copiado el codigo desde tu libro de excel presiona Alt+F8 para mostrar las macros disponibles y ejecutala. Se te pedira seleccionar el libro *.xla, verifica que dicho archivo XLA no este abierto o te mandara un error, despues de abrirlo la macro lo guardara como XLS en la misma carpeta y despues lo cerrara, al final solo verifica si el archivo se guardo.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Edreher
Miembro Frecuente
Miembro Frecuente
 
Registrado: 07 Oct 2004 17:24
Ubicación: Veracruz, Mexico

Re: Bloquear proyecto

Notapor daresalt » 26 Nov 2005 07:03

gracias Edreher por tu ayuda. Funciona muy bien. Viendo tu experiencia a la hora de trabajar con excel y sus macros, quisiera hacerte otra pregunta que plantee en este foro y que no me han contestado, quizás por que no haya respuesta.
Cuando se habló en este tema que, creo que fuiste tu quien lo expusiste, se habló como medidas de seguridad, para que no te desprotegieran el libro, el que podí­an mediante otro libro con macros acceder a tu libro y desabilitar o cambiar el comportamiento de las macros. He intentado mediante Workbook_Deactivate decirle que cuando el libro se desabilite, porque se abra otro libro o otra aplicación, este se cierre, sin poder conseguir que funcione.
Sub Workbook_Deactivate
Workbook.Close o ThisWorkbook.Close
End Sub

Este codigo no funcina. Lo he intentado de muchas formas y maneras sin conseguirlo. ¿Hay alguna manera de conseguirlo? ¿Puedes ayudarme?
Gracias por tu atención
daresalt
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
daresalt
Miembro Frecuente
Miembro Frecuente
 
Registrado: 15 Nov 2005 20:12

Re: Bloquear proyecto

Notapor Edreher » 26 Nov 2005 16:38

Tu macro no funciona porque se inicia cuando sucede el Evento Deactivate del libro, pero dentro de tu macro al momento de cerrar el libro se vuelve a generar el evento Deactivate y se vuelve a llamar la macro infinitamente, para solucionarlo lo mas facil seria hacer esto:

Sub Workbook_Deactivate()
Application.EnableEvents = False
ThisWorkbook.Close True
Application.EnableEvents = True
End Sub

Sin embargo el libro se cerrara antes de ejecutar la ultima instruccion y los eventos quedaran desactivados, y con esto al volver a abrir el libro ya no funcionaria tu macro. Lo que se me ocurrio hacer es declarar una variable publica para que controle la segunda vez que se presente el evento Deactivate de la siguiente manera:
Código: Seleccionar todo
Public i As Boolean

Sub Workbook_Deactivate()
If i = True Then Exit Sub
i = True
Application.ScreenUpdating = False
ThisWorkbook.Close True
Application.ScreenUpdating = True
End Sub

Pruebala a ver si te funciona.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Edreher
Miembro Frecuente
Miembro Frecuente
 
Registrado: 07 Oct 2004 17:24
Ubicación: Veracruz, Mexico

Re: Bloquear proyecto

Notapor badwein » 26 Nov 2005 16:50

Hola Edreher. He leido y puesto en práctica el código para cambiar un XLA a XLS
y funciona muy bien. Muchas gracias por tu ayuda.

badwein
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
badwein
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Nov 2005 05:32

Re: Bloquear proyecto

Notapor Al3x » 23 May 2006 20:21

Solo una duda espero no molestar, como es que guardas primero el archivo como un addin y despues como un compartido??? podrias explicarme un poco mejor, te lo agradeceria mucho.

agradezco de antemano tu atencion.

1000 Gracias...
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Al3x
Miembro Frecuente
Miembro Frecuente
 
Registrado: 26 Jul 2005 15:27
Ubicación: MEXICO

Re: Bloquear proyecto

Notapor Creedence » 25 May 2006 18:37

Galileogali wooooooooooaaaaaaaaaaaauuuuuu, muy buena contestación, excelente, eres bueno.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Creedence
Miembro Frecuente
Miembro Frecuente
 
Registrado: 24 Feb 2006 01:10
Ubicación: Cuernavaca, Morelos, México

Re: Bloquear proyecto

Notapor hansabel » 25 May 2006 21:05

Bueno, despues de tantas explicaciones Excelentes creo que la conclusión es que no se puede proteger al 100%, solo podemos hacer mas dificil la apertura de nuestros archivos o códigos, si han podido entrar hasta las computadoras de la CIA y otras entidades que emplean millones de dolares en seguridad informática, no creo que un simple archivo de Excel pueda ser protegido del todo, mi humilde opinión
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
hansabel
Miembro Frecuente
Miembro Frecuente
 
Registrado: 01 Jul 2005 21:10
Ubicación: Santa Cruz-Bolivia

Re: Bloquear proyecto

Notapor Edreher » 25 May 2006 21:25

Hay muchas opciones para quitarle la seguridad a un archivo de excel, pero preguntando y preguntando en una ocasión un ingeniero en sistemas me mostro un archivo ejecutable (*.EXE) que contenia un archivo de excel y que al ejecutar el EXE lo que hacia es abrir una nueva sesion de MS EXCEL y mostrar el archivo de excel que contenia voy a llamarle "encapsulado". Esa sesion de excel que se abria era limitada, porque no tenia la barra de menus de excel, ni las demas barras de herramientas, y tampoco se podia tener acceso al Editor de VBA. En esa sesion limitada de EXCEL si se podia editar el archivo pero al guardarlo no se creaba un archivo diferente en el disco duro, los cambios del archivo se guardaban "encapsulados" dentro del mismo archivo ejecutable. No se si para eso se usan las librerias de excel, el caso es que no se podia abrir el Editor de VBA.

Creo que lo hacia con Delphi u Visual Basic, pienso que seria muy buena opcion.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Edreher
Miembro Frecuente
Miembro Frecuente
 
Registrado: 07 Oct 2004 17:24
Ubicación: Veracruz, Mexico

Re: proyecto bloqueado y como grabar y mostrar en listbox

Notapor Carlos Neira » 12 Jul 2006 20:48

Hola a todos, he retomado este foro porque en realidad si funciona la manera de bloquear un proyecto como archivo compartido, he aqui el ejemplo....lo que necesito saber ahora es como se puede ver el contenido, grabar datos y eliminar datos (debido a que esta esta oculta mediante el procedimiento que dieron en este ejemplo como archivo compartido) de la hoja "Herramientas, mediante un listbox en el userform...pues lo he intentado con la propiedad Thisworkbook pero no funciona....

Les agradezco a todos....

Cordialmente,

Juan Carlos Neira.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Carlos Neira
Miembro Frecuente
Miembro Frecuente
 
Registrado: 26 Mar 2006 00:03
Ubicación: bogota

Re: proyecto bloqueado,. como puedo ver los datos?

Notapor Carlos Neira » 12 Jul 2006 22:17

Hola a todos ...retome este foro porque me parecen interesantes los apuntes acerca de como guardar un libro como Add, Ins. osea como libro compartido...(donde todo aparece oculto) .mi unico problema es que quiero insertar en dicho archivo un listbox que me muestre los datos de la hoja oculta...y como puedo grabar datos y eliminar datos en dichas hojas...ya que mediante la propiedad thisworkbook no se puede...me hace referencia a que no existe dicha informacion y que no se puede mediante esta propiedad....me gustaria que checaran este ejemplo y me ayudaran al respecto...

Agradezco todos los aportes ....

Cordialmente,

Juan Carlos Neira.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Carlos Neira
Miembro Frecuente
Miembro Frecuente
 
Registrado: 26 Mar 2006 00:03
Ubicación: bogota

Re: Bloquear proyecto

Notapor opermty » 13 Jul 2006 04:48

Aplica la misma solucion que se da para abrir y copiar datos en archivos externos de XL.

Prueba con el siguiente codigo adaptandolo segun sea necesario:

Workbooks("libroocultocondato.xls").Activate
Sheets(1).Select
Me.eti1.Caption = Range("a1")


Aqui yo hice juego con un formulario y una etiqueta para las pruebas dentro del evento activate / initialize del mismo, como veraz ya se activa el libro, se hace la seleccion de la hoja y el valor del rango, igual se aplica para todos los campos del formulario.

Saludos

Muy interesante el link, se aprendieron algunas cosas :lol:
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Anterior

Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados