Generar hoja excel

Hola:
Necesito generar un archivo excel a partir de un formulario de VB. Gracias por tu ayuda
Respuesta
1
Checa el siguiente código por si te sirve.
Private Sub Exporta_Excel()
Dim oObjetoExcel As Object
Dim iCol As Integer
Dim iContRengDatos As Integer
Dim iContRengExcel As Integer
Dim iResult As Integer
Dim pszCelda As Variant
On Local Error GoTo Muestra_Error
'Título del diálogo
mdiPrincipal!dlgGeneralMDI.DialogTitle = "Exportar Archivo..."
'Se inicializa el Nombre del Archivo
mdiPrincipal!dlgGeneralMDI.FileName = NULL_STRING
mdiPrincipal!dlgGeneralMDI.CancelError = False
'Tamaño Máximo del Archivo
mdiPrincipal!dlgGeneralMDI.MaxFileSize = 30000
'Tipos de Archivos
mdiPrincipal!dlgGeneralMDI.Filter = "Excel (*.xls)|*.xls"
'Extensión por vbDefault
mdiPrincipal!dlgGeneralMDI.DefaultExt = ".xls"
'Banderas
mdiPrincipal!dlgGeneralMDI.FLAGS = OFN_HIDEREADONLY Or OFN_PATHMUSTEXIST Or OFN_CREATEPROMPT Or OFN_OVERWRITEPROMPT Or OFN_NOREADONLYRETURN
'Acción de Salvar el Archivo
mdiPrincipal!dlgGeneralMDI.Action = DLG_FILE_SAVE
If (mdiPrincipal!dlgGeneralMDI.FileName <> NULL_STRING) Then
'Se crea el Objeto
Set oObjetoExcel = CreateObject("Excel.sheet")
mdiPrincipal.stsBarMdi.Panels(1) = "Comunicación Establecida"
'Se posiciona al Spred de Datos en el primer renglón
sprDatos.Row = NULL_INTEGER
'Se asigna el ancho de las columnas
For iCol = 1 To sprDatos.MaxCols
oObjetoExcel.worksheets(1).cells(iCol).ColumnWidth = sprDatos.ColWidth(iCol)
Next
mdiPrincipal.stsBarMdi.Panels(1) = "Exportando Datos..."
'Se exportan los datos del Spread de Parámetros
iContRengExcel = 1
For iContRengDatos = 1 To sprParametros.MaxRows
For iCol = 1 To sprParametros.MaxCols
iResult = sprParametros.GetText(iCol, iContRengDatos, pszCelda)
oObjetoExcel.worksheets(1).cells(iContRengExcel, iCol).Value = pszCelda
Next
iContRengExcel = iContRengExcel + 1
Next
'Se exportan los datos del Spread de Datos
For iContRengDatos = NULL_INTEGER To sprDatos.MaxRows
For iCol = 1 To sprDatos.MaxCols
iResult = sprDatos.GetText(iCol, iContRengDatos, pszCelda)
oObjetoExcel.worksheets(1).cells(iContRengExcel, iCol).Value = pszCelda
Next
iContRengExcel = iContRengExcel + 1
Next
mdiPrincipal.stsBarMdi.Panels(1) = "Exportación Finalizada"
'Se salva a un Archivo el Objeto
oObjetoExcel.SaveAs mdiPrincipal!dlgGeneralMDI.FileName
End If
mdiPrincipal.stsBarMdi.Panels(1) = "Listo"
Exit Sub
Muestra_Error:
Call Muestra_Error_OLE
Exit Sub
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas