Como usar una dll desarrollada en VS2010 en VB6

Necesito crear una dll en VB .Net con Visual Studio 2010 para que se puede usar en otra solución en desarrollada en VB6. Estoy usando Microsoft Visual Studio 2010 en una máquina W7 x64 con Framewor 4.5 instalado. En este caso el proyecto se desarrollará con el Framewor 4.0.

1-Crear un nuevo proyecto como biblioteca de clases. (Archivo/Nuevo/Proyecto/Biblioteca de Clases)

2-Marcar la opción Crear ensamblado visible a través de COM. (Proyecto/Propiedades del Proyecto/Aplicación/Información del ensamblado…/Crear ensamblado visible a través de COM)

3-Se programa la clase, cómo se desee. Un ejemplo para C# o VB.Net se puede ver en el siguiente enlace.

4-Se ha de generar el Strong Name de nuestra librería. Se ha de utilizar la aplicación sn.exe. La aplicación  se encuentra para este caso en: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools

sn -k dllMy.snk

5-Añadir la firma que se acaba de generar al proyecto que se está programando. Para ello se marca primero la opción de Firmar el ensamblado. (Proyecto/Propiedades del Proyecto/Firma/Firmar el ensamblado) Después se añade el fichero .snk que se acaba de generar en Proyecto/Propiedades del Proyecto/Firma/Elegir un archivo de clave de nombre seguro.

6-Se genera el fichero dll.

7-Agregar la librería al GAC usando la aplicación gacutil. La aplicación para este ejemplo está en la ubicación: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools

gacutil /i dllMy.dll

8-Se realiza el registro de la librería para poder verla y usarla en nuestras aplicaciones con la siguiente usando regasm. La aplicación encuentra en para este caso en: C:\Windows\Microsoft.NET\Framework\v4.0.30319

regasm /tlb:dllMy.tlb dllMy.dll

9-Ya en Microsoft Visual Studio 6 se añade la Referencia al fichero tlb.

Me gustaría también comentar un par de cosas por si hay errores o se han hecho cambios en el fichero dll.

1-Si se desea desregistrar la librería hay que ejecutar:

regasm /u /tlb:dllMy.tlb dllMy.dll

2-Para eliminar la librería del GAC:

gacutil /u dllMy.dll

Fuentes para este artículo:

http://www.elguille.info/colabora/puntoNET/gflores_UsaNETenVB6.htm

http://www.geeksengine.com/article/register-dll.html

https://support.microsoft.com/es-es/kb/897297

 

Anuncios

Excel 2010 y VB.Net 2010

Lo primero que hay que hacer para poder usar Excel 2010 con Microsoft Visual Studio 2010, es añadir la referencia COM Microsoft Excel 14.0 Object Library al proyecto que se esté desarrollando. Después hay que escribir Imports Microsoft.Office.Interop al comienzo del módulo que va a interactuar con Excel.

Ahora voy a añadir unos cuantos ejemplos de ciertas operaciones que realizo con frecuencia:

-Crear una nuevo libro Excel.

Dim xlsApp As Excel.Application
Dim xlsLibro As Excel.Workbook
Dim xlsHoja As Excel.Worksheet

xlsApp = New Excel.Application
xlsLibro = xlsApp.Workbooks.Add
xlsHoja = xlsLibro.Worksheets(1) ‘Para poder trabajar con la primera hoja Excel del libro
xlsHoja = xlsLibro.Worksheets.Add(, xlsLibro.Worksheets(intHoja – 1))’Añadir una nueva hoja Excel al final del libro

-Eliminar la hoja ii del libro Excel.

Call xlsLibro.Worksheets(ii).delete()

-Añadir una fórmula a una celda.

xlsHoja.Range(“C5”).Formula = “=SUM(C1:C4)”

-Cambiar el color de la fuente a azul de una celda o rango.

xlsHoja.Range(“A1”).Font.Color = RGB(0, 0, 255)

-Cambiar el tamaño de la letra de una celda o rango.

xlsHoja.Range(“A1:H10”).Font.Size = 13

-Cambiar el ancho de una columna.

xlsHoja.Columns(“A”).columnwidth = 8

-Guardar un libro en formato xls.

Call xlsLibro.SaveAs(“C:\ejemplo.xls”, FileFormat:=56)

-Guardar un libro y cerrar la aplicación.

Call xlsLibro.SaveAs(“c:\ejemplo.xlsx”)
xlsHoja = Nothing
xlsLibro.Close(False)
xlsLibro = Nothing
xlsApp.Quit()
xlsApp = Nothing