Anybody can advise me to save an excel (.xls 2003 format) from PowerBuilder , the excel application not be visible to the user . Following is my code. I want to save that file ( if exist , it should be overwritten) without manual involvement .
If sle_subject.text= "Purchase Order" Then
OleObject lole_excel
lole_excel = CREATE OLEObject
li_rtn = lole_excel.ConnectToNewObject("excel.application")
IF li_rtn <> 0 THEN
DESTROY lole_Excel
END IF
End if
If sle_subject.text= "Purchase Order" and li_rtn = 0 Then
l_str_dir = GetCurrentDirectory( )+'\'+ls_filename
li_nextrow = l_lng_rowcnt + 1
li_lastrow = li_nextrow + 1
lole_excel.visible = TRUE
lole_excel.WorkBooks.Open(l_str_dir)
lole_excel.Application.Visible = TRUE
IF li_rtn = 0 THEN
lole_excel.visible = TRUE
lole_excel.Application.DisplayAlerts = False
lole_excel.WorkBooks.Open(l_str_dir)
lole_excel.Application.Visible = TRUE
lole_excel.application.workbooks(1). worksheets(1).Columns(1).HorizontalAlignment = -4108
lole_excel.application.workbooks(1). worksheets(1).Columns(5).HorizontalAlignment = -4108
lole_excel.application.workbooks(1). worksheets(1).Columns(7).HorizontalAlignment = -4108
lole_excel.application.workbooks(1). worksheets(1).Columns(8).HorizontalAlignment = -4108
lole_excel.application.workbooks(1). worksheets(1).Columns(9).HorizontalAlignment = -4108
lole_excel.application.workbooks(1). worksheets(1).Columns(10).HorizontalAlignment = -4108
lole_excel.application.workbooks(1). worksheets(1).Columns(11).HorizontalAlignment = -4108
lole_excel.application.workbooks(1). worksheets(1).Columns(9).NumberFormat = "#,##0"
lole_excel.application.workbooks(1). worksheets(1).Columns(10).NumberFormat = "£#,##0.00"
lole_excel.application.workbooks(1). worksheets(1).Columns(11).NumberFormat = "£#,##0.00"
lole_excel.application.workbooks(1). worksheets(1).Range("A1:K1").Select
lole_excel.application.workbooks(1). worksheets(1).Range("A1:A"+string(li_nextrow)).Font.ColorIndex = 3
lole_excel.application.workbooks(1). worksheets(1).Range("A1:K1").Font.Bold = True
lole_excel.application.workbooks(1). worksheets(1).Columns("A:L").EntireColumn.AutoFit
lole_excel.application.workbooks(1). worksheets(1).Range("A1:K1").HorizontalAlignment = -4108
li_nextrow =lole_excel.application.workbooks(1).worksheets(1).usedrange.rows.count
li_lastrow = li_nextrow+1
lole_excel.application.workbooks(1). worksheets(1).Range("F"+string(li_lastrow)+":F"+string(li_lastrow)).Formula = "TOTAL"
lole_excel.application.workbooks(1). worksheets(1).Range("K"+string(li_lastrow)+":K"+string(li_lastrow)).Formula = "=SUM(K1:K"+string(li_nextrow)+")"
lole_excel.application.workbooks(1). worksheets(1).Range("F"+string(li_lastrow)+":F"+string(li_lastrow)).Font.ColorIndex = 3
lole_excel.application.workbooks(1). worksheets(1).Range("F"+string(li_lastrow)+":F"+string(li_lastrow)).HorizontalAlignment = -4108
lole_excel.application.workbooks(1). worksheets(1).Range("K"+string(li_lastrow)+":K"+string(li_lastrow)).Font.ColorIndex = 3
END IF
DESTROY lole_excel
Else
IF ShellExecute( handle(lw_null), ls_cmd, ls_filename, ls_null, ls_null, SW_NORMAL ) < 33 THEN
RETURN 0
END IF
End if
After doing some format on the excel I want , that to be saved again without user involvement . Please any idea will be appreciated . I am using powerbuilder 11.2
Pol