Foros del Web » Programación para mayores de 30 ;) » .NET »

vb.net Copiar Hoja de Excel

Estas en el tema de vb.net Copiar Hoja de Excel en el foro de .NET en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 02/05/2012, 05:46
 
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.
  #2 (permalink)  
Antiguo 03/05/2012, 03:51
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: vb.net Copiar Hoja de Excel

La instrucción que iría en la parte roja es
Código:
wExcel2.Worksheets(1).Copy(wExcel.Sheets(1), )

Etiquetas: excel, sheet, worksheet, vbnet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:12.