none
Formula de access a Excel RRS feed

  • Pregunta

  • Bueno lo que trato de hacer es pasar todo un Datagridview (cargado de una tabla en access) a excel y si lo consigo a partir de este código que encontré en internet y funciona.

    Function GridAExcel(ByVal ElGrid As DataGridView) As Boolean
    
            'Creamos las variables
    
            Dim exApp As New Microsoft.Office.Interop.Excel.Application
    
            Dim exLibro As Microsoft.Office.Interop.Excel.Workbook
    
            Dim exHoja As Microsoft.Office.Interop.Excel.Worksheet
    
    
            'Añadimos el Libro al programa, y la hoja al libro
    
            exLibro = exApp.Workbooks.Add
    
            exHoja = exLibro.Sheets("Hoja1")
    
            ' ¿Cuantas columnas y cuantas filas?
    
            Dim NCol As Integer = ElGrid.ColumnCount
    
            Dim NRow As Integer = ElGrid.RowCount
    
            'Aqui recorremos todas las filas, y por cada fila todas las columnas
    
            'y vamos escribiendo.
    
            For i As Integer = 1 To NCol
    
                exHoja.Cells.Item(1, i) = ElGrid.Columns(i - 1).Name.ToString
    
            Next
    
            For Fila As Integer = 0 To NRow - 1
    
                For Col As Integer = 0 To NCol - 1
                        exHoja.Cells.Item(Fila + 2, Col + 1) =
                     ElGrid.Rows(Fila).Cells(Col).Value()
                    
    
                Next
    
            Next
    
            'Titulo en negrita, Alineado al centro y que el tamaño de la columna
    
            'se ajuste al texto
    
            exHoja.Rows.Item(1).Font.Bold = 1
    
            exHoja.Rows.Item(1).HorizontalAlignment = 3
    
            exHoja.Columns.AutoFit()
    
            'Aplicación visible
    
            exApp.Application.Visible = True
    
            exHoja.SaveAs("C:\")
    
            exHoja = Nothing
    
            exLibro = Nothing
    
            exApp = Nothing
    
    
            Return True
    
        End Function

    El error está al tratar de pasar una "formula Excel" del datagridview a la hoja. La celda dice algo así

    =HIPERVINCULO(IZQUIERDA(CELDA("filename");LARGO(CELDA("filename"))-19) & "Fotos\" & A2; "Fotos")

    Esa fórmula la hice yo para abrir una carpeta que se encuentra donde está el guardado el archivo excel (Aclaro que el archivo excel se guarda al final osea mientras se pasa no existe ese "filename". No se si tenga algo que ver)

    Por qué estoy seguro del error? Porque si borro el "=" funciona todo y en la celda aparece el resto del texto pero si pongo el igual me sale "Excepción de HRESULT: 0x800A03EC" en la parte que se copia las celdas.

    Entonces mi pregunta es alguien sabe como pasar la fórmula? u otra forma de hacer un vínculo de una carpeta que se encuentra donde está el guardado el archivo excel? o guardar el libro antes y al final reemplazarlo solo? (En el caso de ser eso).

    Saludos Y Gracias.

    • Cambiado Enrique M. Montejo jueves, 27 de febrero de 2014 12:09 Programación con Microsoft Excel
    domingo, 6 de octubre de 2013 2:05