RE:Utileria para documentacion
Les paso un código que me mando un colega. (Daniel Sanz)
no lo probé pero me parece que es mas sencillo
Gracias a Daniel Sanz
! GeneraExcel
GeneraExcel ROUTINE
! Fija el límite superior de la barra de progreso y la muestra
?Progress1{PROP:rangehigh} = RECORDS(CtaCteQue)
?Progress1{PROP:progress} = 0
UNHIDE(?Progress1)
UNHIDE(?PromptGenera)
DISPLAY(?Progress1)
! Abre instancia de Excel
?Excel{PROP:Create} = 'Excel.VBAModule'
! No muestra mientras se transfieren los datos, para mostrar poner -2
?Excel{PROP:DoVerb} = -3
! Reporta errores
?Excel{PROP:ReportException} = TRUE
! Crea un Libro Nuevo
?Excel{'Application.WorkBooks.Add'}
! Da nombre a la Hoja 1
?Excel{'Application.Sheets(1).Name'} = 'CtaCte'
! Selecciona celdas y transfiere valores
?Excel{'Application.Range("A1").Select'}
?Excel{'Application.ActiveCell.FormulaR1C1'} = 'Cuenta Corriente - '&CLIP(LEFT(LOC:Cuenta))
?Excel{'Application.Range("A2").Select'}
?Excel{'Application.ActiveCell.FormulaR1C1'} = CLIP(LEFT(LOC:ApellidoNom))
?Excel{'Application.Range("A4").Select'}
?Excel{'Application.ActiveCell.FormulaR1C1'} = 'Fecha'
?Excel{'Application.Range("B4").Select'}
?Excel{'Application.ActiveCell.FormulaR1C1'} = 'Comprobante'
?Excel{'Application.Range("C4").Select'}
?Excel{'Application.ActiveCell.FormulaR1C1'} = 'Débitos'
?Excel{'Application.Range("D4").Select'}
?Excel{'Application.ActiveCel l.FormulaR1C1'} = 'Créditos'
?Excel{'Application.Range("E4").Select'}
?Excel{'Application.ActiveCell.FormulaR1C1'} = 'Saldo'
?Excel{'Application.Range("G4").Select'}
A$ = 5
LOOP I# = 1 TO RECORDS(CtaCteQue)
?Progress1{PROP:progress} = ?Progress1{PROP:progress} + 1
DISPLAY(?Progress1)
GET(CtaCteQue,I#)
A$ += 1
?Excel{'Application.Range("A' & A$ &'").Select'}
?Excel{'Application.ActiveCell.Value'} = FORMAT(QCC:FechComp,@D06)
?Excel{'Application.Range("B' & A$ &'").Select'}
?Excel{'Application.ActiveCell.Value'} = QCC:Abreviatura&' '&CLIP(LEFT(QCC:NumeroFmt))
IF QCC:Debitos
?Excel{'Application.Range("C' & A$ &'").Select'}
?Excel{'Application.ActiveCell.Value'} = QCC:Debitos
END
IF QCC:Creditos
?Excel{'Application. Range("D' & A$ &'").Select'}
?Excel{'Application.ActiveCell.Value'} = QCC:Creditos
END
IF QCC:Saldo
?Excel{'Application.Range("E' & A$ &'").Select'}
?Excel{'Application.ActiveCell.Value'} = QCC:Saldo
END
END
! Selecciona celda A1 y define autoformato de columna.
?Excel{'Application.Columns("B:B").Select'}
?Excel{'Application.Selection.Columns.AutoFit'}
?Excel{'Application.Columns("F:F").Select'}
?Excel{'Application.Selection.Columns.AutoFit'}
?Excel{'Application.Columns("G:G").Select'}
?Excel{'Application.Selection.Columns.AutoFit'}
?Excel{'Application.Range("A1").Select'}
! Muestra Excel
?Excel{'Application.Visible'} = TRUE
! Borra la ventana Objeto
?Excel{'Application.Windows("Object").Close'}
! Maximiza la ventana del libro creado
?Excel{'Application.ActiveWindow.WindowState'} = 2
! Oculta barra de progreso
HIDE(?Progress1)
HIDE(?PromptGenera)