Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/06/2010, 03:48
kamita
 
Fecha de Ingreso: agosto-2008
Mensajes: 89
Antigüedad: 16 años, 6 meses
Puntos: 1
Problema proceso Excel en VB08

Hola, he hecho un pequeño programilla de nada. El tema es que al final quiero que recolecte los datos, y los guarde en un archivo de Excel. Para ello lo que hago es lo siguiente:
por un lado hago que se abra un archivo de Excel que tiene el formato. Después escribo en cada casilla lo que quiero. Finalmente para guardarlo, quiero que se guarde en dos sitios: por un lado se guarda en el propio archivo del principio del que he sacado el formato. Por otro lado quiero que también se guarde en otro archivo en una carpeta clasificado.
El problema es que tras haberlo puesto en funcionamiento me he dado cuenta de que se quedan abiertos muchos procesos de Excel en el Administrador de Tareas de Windows. Es por ello que no se si tengo que cerrar excel dos veces o que.
Dejo el código a ver si me podeis ayudar. Está al final:

Código:
 'copiaconformatoparaenviar
        Dim m_Excel As Microsoft.Office.Interop.Excel.Application
        Dim strRutaExcel As String

        strRutaExcel = "C:\Principe\cierredeturno.xls"

        m_Excel = CreateObject("Excel.Application")
        m_Excel.Workbooks.Open(strRutaExcel)
        m_Excel.Visible = False 'Dejamos el libro oculto

        'Escribir en una celda
        m_Excel.Worksheets("Hoja1").cells(1, 1).value = "CIERRE DE TURNO"
        m_Excel.Worksheets("Hoja1").cells(6, 1).value = "Efitec 95"
        m_Excel.Worksheets("Hoja1").cells(7, 1).value = "Diesel E+"
        m_Excel.Worksheets("Hoja1").cells(8, 1).value = "Diesel e10+"
        m_Excel.Worksheets("Hoja1").cells(5, 2).value = "Litros"


        'Guardamos los cambios del libro activo
        m_Excel.Application.ActiveWorkbook.Save()
        m_Excel.Application.ActiveWorkbook.SaveAs("C:\Principe\informes\cierredeturno" & Fecha.Text & "-" & Turn.Text & ".xls")

        'Eliminamos la instancia de Excel de memoria
        If Not m_Excel Is Nothing Then
            m_Excel.Quit()
            m_Excel = Nothing
        End If
Gracias.