SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: dloaizap en Viernes 10 de Noviembre de 2006, 15:32

Título: Captura Del Evento Newworkbook
Publicado por: dloaizap en Viernes 10 de Noviembre de 2006, 15:32
Hola a todos,
Estoy haciendo una aplicacion para capturar el evento de crear un nuevo libro en excel, esto debe ser muy sencillo, pero he tratado de hacerlo y me sale un error,

mi codigo es el siguiente:

modulo de clase:(clseSAP)

Public WithEvents nuevoLibro As Application

Private Sub nuevoLibro_NewWorkbook(ByVal Wb As Workbook)
    MsgBox ("El libro se ha creado")
End Sub


ThisWorkbook:

Dim test As claseSAP

Private Sub Workbook_Open()
    Set test.nuevoLibro = Excel.Application
End Sub


Al abrir el libro me sale el siguiente error en la
linea "Set test.nuevoLibro = Excel.Application":

Se ha producido el error '91' en tiempo de ejecucion

Variable de objeto o bloque With no establecido


Si alguien sabe como puedo corregir este error, le agradezco me ayude,

Saludos

Daniel Loaiza
Título: Re: Captura Del Evento Newworkbook
Publicado por: luciano2 en Viernes 10 de Noviembre de 2006, 15:40
Hola, no entendi muy bien la cuestión, pero el error es por que no estas creando una instancia de la clase antes de poder usarla, por ejemplo debes hacer

Set Objeto_Miclase = ElModuloDeClase


Espero que sea eso

salu2




 -----------------------------------

Recursos visual basic, ocx y codigo fuente (http://www.recursosvisualbasic.com.ar/)
Título: Re: Captura Del Evento Newworkbook
Publicado por: dloaizap en Viernes 10 de Noviembre de 2006, 16:17
Hola luciano,

Ya probe con lo que me dijiste y no me funciona, te agradeceria si me pudieras enviar un archivo de excel con el codigo para que cuando se cree un libro, el codigo capture el evento y ejecute una tarea cualquiera como sacar un mensage "msgBox("Se ha creado un libro2")",  muchas gracias por tu atencion,

Mi e-mail es dloaiza@isa.com.co

Saludos,

Daniel Loaiza
Título: Re: Captura Del Evento Newworkbook
Publicado por: dloaizap en Viernes 10 de Noviembre de 2006, 17:02
hola a todos, ya soluciones mi problema, el error salia porque le faltaba la palabra new en la declaracion del evento:

Modulo de Clase(SAP)


Public WithEvents App As Application

Private Sub App_NewWorkbook(ByVal Wb As Workbook)
    MsgBox ("El libro ha sido creado")
End Sub

Modulo para inicializar:

Dim X As New SAP
Sub InitializeApp()
    Set X.App = Application
End Sub
Título: Re: Captura Del Evento Newworkbook
Publicado por: luciano2 en Viernes 10 de Noviembre de 2006, 21:43
Eso es a lo que me referia:

Set Objeto_Miclase = New ElModuloDeClase

..me falto el New  :D


...saludos



-----------------------

Recursos visual basic, ocx, código fuente (http://www.recursosvisualbasic.com.ar/)