Master2 pb sekalian, saya mau bertanya, kenapa bila menggunakan versi pb.11.5 
waktu save to excell selalu nambah 1 baris di atas header,kadang2 juga manambah 
jumlah kolom, sedangkan bila memakai versi bawaanya yaitu pb.5 tidak mengalami 
kendala demikian, ada yang bisa bantu..!

ini contoh scripnya..kira2 ada yang kurang ..

OLEObject    oWorkBook
OLEObject   oExcel
OLEObject  oActiveSheet
OleObject  oRange,oRange1,oRange2

Long     ll_dwrow,ll_dwcol,ll_dwcolcount,ll_dwrowcount
String   ls_columns[],ls_columnname,ls_lastcol
Any    lany_value
Integer   I,li_rec,li_displaynamestyle_org,li_lastcol
Integer   li_maxcols = 256,li_teller

IF (dw_report.SaveAs(pv_filename,HtmlTable!,False)) <= 0 THEN
This.SetMicrohelp("Error while saving to temporary file .....")
RETURN -1
END IF

IF FileExists(is_filenamecomplete) THEN
IF Not FileDelete(is_filenamecomplete) THEN
 THIS.SetMicrohelp("Error while deleting Target file ...")
 RETURN -1
   END IF
END IF

oExcel = CREATE OLEObject
IF oExcel.ConnectToNewObject("Excel.Application") <> 0 THEN
 THIS.SetMicrohelp("Error while connecting to Excel ...")
  f_error('A',67,'"Could Not Connect To Excel"','','')
  RETURN -1
END IF

oExcel.Application.Visible = TRUE 

oWorkBook = CREATE OleObject
THIS.SetMicrohelp("Opening Temporary File ...")
oWorkBook = oExcel.Workbooks.OPEN(pv_filename)

THIS.SetMicrohelp("Saving As Excel Workbook ...")
//oWorkBook.SaveAs(is_filenamecomplete,-4143) 
oWorkBook.SaveAs(pv_filename,-4143) 

FileDelete(pv_filename)

oActiveSheet = CREATE OleObject
oActiveSheet = oWorkBook.ActiveSheet

//oActiveSheet = oWorkBook.Worksheets.Add

THIS.SetMicrohelp("Applying Lay-out ...")

oActiveSheet.Cells.SELECT
oExcel.Selection.MergeCells = FALSE
oExcel.Selection.Wraptext = FALSE
oExcel.Selection.Columns.Autofit()

//oActiveSheet.Rows("1:1").SELECT
oRange = CREATE OleObject
oRange = oExcel.Selection
//oRange.DELETE(-4162) 

oRange1 = CREATE OleObject
oRange2 = CREATE OleObject

SetNull(ls_lastcol)

//oExcel.Application.Cells(1,1).value = 24


//FOR I = 255 TO 1 STEP -1
//IF NOT IsNull(oExcel.Application.Cells(1,I).Value) THEN
//ls_lastcol = String(oExcel.ActiveSheet.Cells(1,I).Value)
//EXIT
//END IF
//NEXT

I = 1

DO WHILE TRUE AND NOT IsNull(ls_lastcol)  //AND NOT dw_xls.ib_isfreeform
oWorkBook.Save()
 li_teller ++
 IF li_teller > li_maxcols THEN
  EXIT
 END IF
// lany_value = oExcel.Cells(1,I).Value
//
// IF IsNull(lany_value) THEN
//  oActiveSheet.Cells(1,I).SELECT
//  oRange1 = oExcel.Selection
//
//  oActiveSheet.Cells(65536,I).SELECT
//  oRange2 = oExcel.Selection
//
//  oActiveSheet.Range(oRange1,oRange2).SELECT
//  oRange = oExcel.Selection
//  
//  oRange.DELETE
//  ELSE
// If String(lany_value) <> ls_lastcol Then
// I = I + 1
// ELSE
//  EXIT
//   END IF
//  END IF
LOOP

oActiveSheet.Cells.Select
oExcel.Selection.Wraptext = False
oExcel.Selection.Columns.Autofit()
oExcel.Selection.Rows.Autofit()
//oActiveSheet.Cells(1,1).Select

oRange1.DisconnectObject()
DESTROY oRange1

oRange2.DisconnectObject()
DESTROY oRange2

oRange.DisconnectObject()
DESTROY oRange

oActiveSheet.DisconnectObject()
DESTROY oActiveSheet

oWorkBook.Save()
oWorkBook.Close(True)
oWorkBook.DisconnectObject()
DESTROY oWorkBook

oExcel.Quit
oExcel.DisConnectObject()
DESTROY oExcel

SetPointer(Arrow!)
THIS.SetMicrohelp("Retrieving, please wait ..!")

RETURN 100
 

Kirim email ke