Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/05/2012, 05:46
negu
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 0
vb.net Copiar Hoja de Excel

Hola,

Estoy desarollando un gestor de informes que de diferentes informes en distintos archivos de excel (seleccionados en un listbox), me genere uno nuevo. Básicamente, copia algunas hojas enteras y las partes más importantes de otras.

Me encuentro con que no consigo copiar una hoja de Excel de los informes que abro al que genero desde zero.

Mi código es:

Código:
        If ListBox1.Items.Count > 1 Then

            Dim oExcel As Microsoft.Office.Interop.Excel.Application ' Objeto Excel
            Dim wExcel As Microsoft.Office.Interop.Excel.Workbook    ' Objeto Libro Excel (Plantilla Informe)
            Dim wExcel2 As Microsoft.Office.Interop.Excel.Workbook   ' Objeto Libro Excel (Informe k)
            Dim sExcel As Microsoft.Office.Interop.Excel.Worksheet   ' Objeto Hoja Excel (Plantilla Informe)
            Dim sExcel2 As Microsoft.Office.Interop.Excel.Worksheet  ' Objeto Hoja Excel (Informe k)

            oExcel = New Microsoft.Office.Interop.Excel.Application
            oExcel.Visible = False

            wExcel = oExcel.Workbooks.Add()
            sExcel = wExcel.Worksheets(1)

            Dim i As Short
            i = 1
            For Each item In ListBox1.Items
                wExcel2 = New Microsoft.Office.Interop.Excel.Workbook
                wExcel2 = oExcel.Workbooks.Open(item)
                If i = 1 Then ' Portada
                    sExcel2 = wExcel.Worksheets(1)
                    sExcel2.Copy()
                    wExcel.Worksheets.Add(sExcel2) ' Esta es la parte que no consigo encontrar
                End If
                wExcel2.Close()
                i = i + 1
            Next item
            'oExcel.Quit()
            'oExcel = Nothing

        Else
            MsgBox("Introduce almenos dos informes que unificar")
        End If

La parte en rojo es donde debería copiar la primera hoja del primer informe (en las demás no hace nada porque primero quiero solucionar este primer paso). Veréis que hay tanto un copy como un add. Ni caso ya que imaginaba que se haría mediante Copy/Paste o Add(Hoja) pero de momento no lo he conseguido, y he dejado las dos instrucciones por si ayuda a coger alguna idea.

Muchas Gracias.