Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/07/2008, 23:36
Sil_va
 
Fecha de Ingreso: diciembre-2007
Mensajes: 100
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Error HRESULT E_FAIL de una llamada a un componente COM

Lo siento ayer algo raro me pasó al escribir el POST y lo dejé a medias.

Una vez que ves todos los componentes COM, tienes que agregar:
1) Microsoft Office Interop 11.0
2) Microsoft Excel 11.0

Tras haber agregado las referencias en el código desde donde quieres trabajar con Excel debes agregar los siguientes Imports:

1) Imports System.Runtime.InteropServices.Marshal
2) Imports Microsoft.Office.Interop

A partir de ahora puedes trabajar con Excel sin problemas.

El modo de trabajo básicamente consiste en crear un objeto que de algún modo hará de aplicación Excel

Dim oXL As Excel.Application

Un Libro de Excel
Dim oWB As Excel.Workbook

Y una oja del libro
Dim oSheet As Excel.Worksheet

Una vez declarados los tres objetos metemos la hoja dentro del libro, y el libro dentro de la aplicación Excel (como si trabajásemos con el Excel de verdad...)

Inicializar Excel y obtener un objeto de Aplicacion
oXL = CreateObject("Excel.Application")
oXL.Visible = True

' Obtener nuevo libro (workbook)
oWB = oXL.Workbooks.Add

' Activar la hoja del libro
oSheet = oWB.ActiveSheet

Después de todo eso aplicamos métodos a la hoja para escribirla, cambiarle los tipos de letra... etc
' Escribir titulo del informe
oSheet.Cells(1, 1).Value = "Estoy escribiendo en una celda de Excel "
oSheet.Cells(1, 2).Value = "Estoy escribiendo en la siguiente celda "

' Poner un rango en negrita...
oSheet.Range("A1", "D1").Font.Bold = True

Este ejemplo es para escribir un documento. Supongo queal crear la aplicación si en vez de "NewExcelAplication" le pasas tu fichero excel, abrirá ese en vez de uno nuevo:
oXL = CreateObject("C\:UnExcel.xls")

Si no es ese método para abrir uno existente seguro que hay uno, yo he trabajado con plantillas pero ahora mismo no encuentro el código exacto.

De todos modos te dejo un link que hablan algo sobre ello:
http://www.c-sharpcorner.com/UploadFile/mgold/HowtoOepnandReadanExcelSpreadsheetinaListViewin.NE T11282005034134AM/HowtoOepnandReadanExcelSpreadsheetinaListViewin.NE T.aspx

Si haces en google la siguietne búsqueda "Accessing Excel from .NET" entocntrarás bastantes ejemplos.

Espero que te haya servido de algo, y si tienes alguna cosa mas que pregutnar, para eso estamos.