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

Crear una DLL en VB y usarla en Excel...

Ver el tema anterior Ver el tema siguiente Ir abajo

Crear una DLL en VB y usarla en Excel...

Mensaje por loscar7 el Miér Nov 11, 2009 7:30 pm

Buen día expertos, tengo una consulta. Según he escuchado se pueden crear archivos DLL en Visual Basic (yo tengo VB6) y usarlas en Excel pero no he logrado tener el éxito deseado... he visto varios ejemplos en Internet que no han funcionado... será que alguno de ustedes me puede explicar los pasos a seguir de como crear una DLL en VB y poderla declarar en Excel para usarla, podría ser una simple función para sumar dos números o un procedimiento para abrir un archivo o activar una hoja... lo que me interesa es el proceso para crear la DLL y lógicamente como la tengo que declarar en Excel para que me funcione, espero haberme explicado... agradezco en lo que me puedan ayudar.

loscar7

Masculino Cantidad de envíos : 15
Edad : 28
Ciudad - Pais : Guatemala
Version de Excel : 2007
Fecha de inscripción : 11/11/2009

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por P@li el Miér Nov 11, 2009 9:55 pm

Hola loscar7, te hice este mini tutorial en 20 minutos, espero que te sirva, no esperes más jaja, ni ganas de escribir así que guiate por las imágenes que están en la carpeta tutorial paso a paso, te deje los ejemplos de fuente y excel para que te des una idea.

[Tienes que estar registrado y conectado para ver este vínculo]

Saludos,
Pablo.

P@li
Admin

Masculino Cantidad de envíos : 243
Edad : 34
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por GalileoGali el Jue Nov 12, 2009 8:16 am

P@li:
Como decimos por estos pagos:¡TE PASASTE!.

De todas maneras te cuento que carezco de VB6 instalado. No obstante pude hacer correr perfectamente tu Macro.
Te cuento los pasos que segui?
Descomprimi el zip a una carpeta, hice correr el SETUP.EXE que encontre en la carpeta Paquete dentro de Fuente (era éste?)
Luego entre a la Carpeta de los jpg y los vi como "presentacion" (¿o tendria que haber clickeado algun ejecutable"?)
De todas maneras, fui a ejemplo.xls y Set Dll cargo la libreria como objeto
y vi HOLA MUNDO en mayusculas.

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

Masculino Cantidad de envíos : 1963
Edad : 62
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: Crear una DLL en VB y usarla en Excel...

Mensaje por loscar7 el Jue Nov 12, 2009 10:24 am

Gracias P@li por compartir tus buenos conociemientos... lamentablemente en la empresa donde trabajo tenemos ciertas limitantes en cuanto a entrar ciertas páginas entiendase Rapidshare, Megaplug, etc. así que tendré que esperar a ir a un café y por los comentarios que hace Gali, me imagino que será algo fantastico y que he estado de lograr hasta ahora.

loscar7

Masculino Cantidad de envíos : 15
Edad : 28
Ciudad - Pais : Guatemala
Version de Excel : 2007
Fecha de inscripción : 11/11/2009

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por P@li el Jue Nov 12, 2009 10:44 pm

Gali,
En realidad solamente hice una imagen por cada clic, sin obviar los pequeños problemas con los que nos podemos encontrar en el camino de la creación de una dll, pero como te digo, el tutorial son solo imágenes.

Después deje el paquete con la dll (para los que no tienen vb6) y el código fuente (para los que tienen vb6).
Y también deje el ejemplo en Excel, para probar la ejecución de la dll.

Lo bueno de esto es que empaquetamos nuestro código y sabemos que nadie nos va a "sacar" el código. Lo malo es que tenemos que generar un paquete de instalación con la dll, para poder distribuirlas de una manera casi confiable.

Otro punto a favor es que la dll es compilada, y esto hace que el código se ejecute muchísimo más rápido que en los módulos de VBA.

Loscar, si queres te mando el archivo por mail, pasame una dirección donde te lo pueda enviar.

Bueno gracias por los comentarios, cualquier cosa me consultan.

Saludos,
Pablo.

P@li
Admin

Masculino Cantidad de envíos : 243
Edad : 34
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por loscar7 el Vie Nov 13, 2009 10:29 am

Gracias P@li, aparte de tomarte el tiempo en ayudar, así como buscar alternativas para dar un apoyo completo, mi e-mail es [Tienes que estar registrado y conectado para ver este vínculo] gracias y exitos en todo lo que realices. Aparte de mi sincero agradecimiento a tu persona quiero dar las gracias a Gali por la creación de este WebSite, que se esta haciendo grande por los eminentes moderadores que apoyan y ayudan... saludos.

PD. Gali con tu ingenio podriamos hacer un día una especie de convivio navideño virtual, no se como aportaciones crativas, mensajes, explicar como celebran la Navidad en cada país, la comida tradicional de la epoca, no sé, darle un giro diferente al foro por una conmemoración tan especial como lo es el Nacimiento del hijo de Dios.

loscar7

Masculino Cantidad de envíos : 15
Edad : 28
Ciudad - Pais : Guatemala
Version de Excel : 2007
Fecha de inscripción : 11/11/2009

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por P@li el Vie Nov 13, 2009 12:12 pm

Loscar,
Intento mandarte el mail, pero a gmail no se pueden enviar archivos zip con ejecutables adentro, te mando un archivo que se llama dllParaExcel.zzz, tenés que cambiarle la extensión a .zip.

Saludos,
Pablo.

P@li
Admin

Masculino Cantidad de envíos : 243
Edad : 34
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por loscar7 el Vie Nov 13, 2009 1:53 pm

Gracias si ya lo recibí, verificaré y te comento... mil gracias.

loscar7

Masculino Cantidad de envíos : 15
Edad : 28
Ciudad - Pais : Guatemala
Version de Excel : 2007
Fecha de inscripción : 11/11/2009

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por loscar7 el Lun Nov 16, 2009 10:14 am

Buen día... P@li este fin de semana estuve haciendo pruebas con tu aporte y la verdad fue fantástico y como reza el refrán; una imagen dice mas que mil palabras, fue como llevarme de la mano para encontrar la salida en un laberinto... logré lo que por mucho tiempo estuve buscando hacer... mil gracias, te deseo lo mejor de lo mejor... saludos.

loscar7

Masculino Cantidad de envíos : 15
Edad : 28
Ciudad - Pais : Guatemala
Version de Excel : 2007
Fecha de inscripción : 11/11/2009

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por Potter2K10 el Miér Nov 17, 2010 12:11 am

Gracias men, no sabes lo que has hecho con este aporte que digo aporte aportazo

te mandaste men

saludos y gracias nuevamente
avatar
Potter2K10

Masculino Cantidad de envíos : 5
Edad : 44
Ciudad - Pais : El Salvador
Version de Excel : 97-2003-2007
Fecha de inscripción : 23/12/2009

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por Potter2K10 el Jue Nov 18, 2010 12:25 pm

Hola, P@li puse en uso tu manual pero me tope con un error que no se como solucionarlo, al la hora de guarda el archivo .dll me da un error que no esta definida sub o function en la intruccion :
Range("A1").select
y tambien en :
Dim C as Range
Worksheets(Hoja).select
Range(ActiveCell, ActiveCell.End(xlDown)).Select

en todas estas instrucciones me genera un error y no se por que, en tu ejemplo usas un function pero sera igual meter un macro con instruccion tal cual las defines de vba excel.

Espero me puedas ayudar, saludos.

atte.
Potter
avatar
Potter2K10

Masculino Cantidad de envíos : 5
Edad : 44
Ciudad - Pais : El Salvador
Version de Excel : 97-2003-2007
Fecha de inscripción : 23/12/2009

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por P@li el Jue Nov 18, 2010 12:41 pm

Voy a tratar de ayudarte, pero no va a ser fácil.

El error se debe a que VB6.0 no tiene ni idea de qué estás hablando cuando ponés Range("A1")..., o cualquier otra FUNCION PUBLICA de nativa de VBA.

Sin embargo no todo está perdido.

Una primera idea que se me ocurre, para no tener que establecer una Referencia a la Automatización de Excel, porque hacer eso va a limitar tu dll a aquellos que compartan tu misma versión de Office.

Lo que te aconsejo consiste en agregar a tus procedimientos un parámetro donde envíes los objetos de excel que quieras utilizar en tu dll, y por otro lado no declarar variables como objetos de Excel, tal el caso de "Dim C as Range", eso quedaría "Dim C as Object".

Código:
'Un procedimiento de ejemplo dentro de la dll:
Public Sub Seleccionar(rango as Object)
rango.select
End Sub

'Otro ejemplo
Public Sub RecorrerCeldas(rango as Object)
dim celda as object
for each celda in rango.cells
celda.select
next
End Sub


En Excel, para llamar estos procedimientos tenés que hacer algo así:
Código:
dim midll as dllExcel
set midll=new dllExcel
midll.seleccionar Range("A1:B2")
midll.RecorrerCeldas Range("B3:H15")
set midll=nothing


Espero que te sirva esta explicación, aguardo tu comentario.

Saludos,
Pablo.

P@li
Admin

Masculino Cantidad de envíos : 243
Edad : 34
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por Potter2K10 el Jue Nov 18, 2010 1:17 pm

Hola, gracias por tu pronta respuesta, asi como lo veo esta claro que necesito estudiar mas vb6.0 al igual que vba, pero intentare modificar mis macros para que pueda generar una dll, como la del tutorial.

espero poder seguir adelante.

saludos y gracias.
avatar
Potter2K10

Masculino Cantidad de envíos : 5
Edad : 44
Ciudad - Pais : El Salvador
Version de Excel : 97-2003-2007
Fecha de inscripción : 23/12/2009

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por troyan el Miér Mar 04, 2015 8:51 am

Hola podrían actualizar el enlace de descarga ya que no descarga el zip. Muchas gracias

troyan

Masculino Cantidad de envíos : 1
Edad : 30
Ciudad - Pais : chile
Version de Excel : 2010
Fecha de inscripción : 04/03/2015

Volver arriba Ir abajo

Re: Crear una DLL en VB y usarla en Excel...

Mensaje por Contenido patrocinado


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.