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.