Como valido saveas()
Publicado por Alicia (23 intervenciones) el 19/07/2005 01:01:54
Hola ...
Estoy enviando mis datos del datawindows a un archivo de excel todo funciona bien pero cuando ya existe el archivo sale un mensaje de que el archivo ya existe desea sobreescribir? si, no, cancel, cuando pongo si sobreescribe bien pero cuando pongo salta error en la funciòn saveas(), este mi còdigo:
long ll_numcols , ll_numrows , ll_c, ll_r
OLEObject xlapp , xlsub
int li_ret
int li_resul
// Coloca el número de columnas y filas a copiar
// Este script copia todo el DW
ll_numcols = long(tab_reportes.tabpage_ingresadas.dw_ingresadas.Object.DataWindow.Column.Count)
ll_numrows =tab_reportes.tabpage_ingresadas.dw_ingresadas.RowCount()
// Crea el oleobject en la variable xlapp
xlApp = Create OLEObject
// Se conecta a Excel y verifica el código de retorno
li_ret = xlApp.ConnectToNewObject( "Excel.Sheet" ) //Excel.Sheet
if li_ret < 0 then
MessageBox("Error Conectandose a Excel !",string(li_ret))
return
end if
// Abre un archivo especifico de Excel
xlApp.Application.Workbooks.Open("c:\ejemplo.xls") //,false,true
// Hace Excel visible
xlApp.Application.Visible = true
xlsub = xlapp.Application.ActiveWorkbook.Worksheets[1]
// El for/next loop copia todas las filas de cada columna
For ll_c = 1 to ll_numcols
For ll_r = 1 to ll_numrows
xlsub.cells[ll_r,ll_c] = tab_reportes.tabpage_ingresadas.dw_ingresadas.object.data[ll_r,ll_c]
Next
Next
//Obtener una suma (o cualquier fórmula) en la fila 5 y columna 4
//xlsub.Cells(5, 4).Formula = "=SUMA(D1:D3)"
//
////Fecha actual
//xlsub.Cells(6, 4).Formula = "=AHORA()"
//
// Guarda el archivo abierto
//xlApp.Application.Activeworkbook.Save()
any al_resultado
// Guarda el archivo con diferente nombre
al_resultado=xlApp.Application.Activeworkbook.SaveAs("c:\ejemplo2.xls") //= false then
//xlApp.Application.Activeworkbook.SaveAs("c:\ejemplo2.xls") < 0 then
if al_resultado = true then
messagebox(""," no se grabò ok"+string(al_resultado))
return
else
messagebox(""," se grabò "+string(al_resultado))
end if
// se desconecta de excel
xlApp.DisConnectObject()
Destroy xlapp
Estoy enviando mis datos del datawindows a un archivo de excel todo funciona bien pero cuando ya existe el archivo sale un mensaje de que el archivo ya existe desea sobreescribir? si, no, cancel, cuando pongo si sobreescribe bien pero cuando pongo salta error en la funciòn saveas(), este mi còdigo:
long ll_numcols , ll_numrows , ll_c, ll_r
OLEObject xlapp , xlsub
int li_ret
int li_resul
// Coloca el número de columnas y filas a copiar
// Este script copia todo el DW
ll_numcols = long(tab_reportes.tabpage_ingresadas.dw_ingresadas.Object.DataWindow.Column.Count)
ll_numrows =tab_reportes.tabpage_ingresadas.dw_ingresadas.RowCount()
// Crea el oleobject en la variable xlapp
xlApp = Create OLEObject
// Se conecta a Excel y verifica el código de retorno
li_ret = xlApp.ConnectToNewObject( "Excel.Sheet" ) //Excel.Sheet
if li_ret < 0 then
MessageBox("Error Conectandose a Excel !",string(li_ret))
return
end if
// Abre un archivo especifico de Excel
xlApp.Application.Workbooks.Open("c:\ejemplo.xls") //,false,true
// Hace Excel visible
xlApp.Application.Visible = true
xlsub = xlapp.Application.ActiveWorkbook.Worksheets[1]
// El for/next loop copia todas las filas de cada columna
For ll_c = 1 to ll_numcols
For ll_r = 1 to ll_numrows
xlsub.cells[ll_r,ll_c] = tab_reportes.tabpage_ingresadas.dw_ingresadas.object.data[ll_r,ll_c]
Next
Next
//Obtener una suma (o cualquier fórmula) en la fila 5 y columna 4
//xlsub.Cells(5, 4).Formula = "=SUMA(D1:D3)"
//
////Fecha actual
//xlsub.Cells(6, 4).Formula = "=AHORA()"
//
// Guarda el archivo abierto
//xlApp.Application.Activeworkbook.Save()
any al_resultado
// Guarda el archivo con diferente nombre
al_resultado=xlApp.Application.Activeworkbook.SaveAs("c:\ejemplo2.xls") //= false then
//xlApp.Application.Activeworkbook.SaveAs("c:\ejemplo2.xls") < 0 then
if al_resultado = true then
messagebox(""," no se grabò ok"+string(al_resultado))
return
else
messagebox(""," se grabò "+string(al_resultado))
end if
// se desconecta de excel
xlApp.DisConnectObject()
Destroy xlapp
Valora esta pregunta


0