data轉excel時當檔案已存在出現是否覆蓋時按否所產生的錯誤訊息 |
答題得分者是:pgdennis
|
BOSS
中階會員 發表:70 回覆:79 積分:64 註冊:2006-11-01 發送簡訊給我 |
請問各位大大
我想問的是在儲存Excel檔案時,當檔案已存在會出現是否覆蓋檔案的視窗
當我按否卻會出現 class workbook的saveas方法失敗,請各位前輩指教 以下是我的程式碼
try ExcelApp:= CreateOleOBject('Excel.Application'); ExcelApp.WorkBooks.Add; ExcelSheet:=ExcelApp.WorkSheets.Add; ExcelApp.Visible := false; ExcelApp.WorkSheets[1].Activate; except Application.MessageBox('無法開啟 MS-EXCEL', '啟動警告', MB_ICONWARNING); exit; end; ExcelApp.Caption:='海外獎金發放彙總表'; //設定列寬 ExcelSheet.cells[1,1].ColumnWidth:=30.00; ExcelSheet.cells[1,2].ColumnWidth:=15.00; ExcelSheet.cells[1,3].ColumnWidth:=15.00; try TitleList:=TStringList.Create; TitleList.Add('銷售機構'); TitleList.Add('營業員'); TitleList.Add('獎金'); for i := 1 to qryT.FieldCount-3 do begin //指定區間 Fselect:=ExcelSheet.range[ExcelSheet.cells[1,1],ExcelSheet.cells[1,i 1]]; Fselect.VerticalAlignment:= xlCenter; //標題水平置中 Fselect.HorizontalAlignment:= xlCenter; //標題垂直置中 ExcelApp.Cells[1,i]:=TitleList[i-1]; end; finally TitleList:=nil; end; i:=2; qryT.First; while not qryT.Eof do begin for j := 0 to qryT.FieldCount-4 do if qryT.Fields[j].FieldName = 'sl_name' then ExcelApp.Cells[i,j 1]:=qryT.FieldByName('sl_no').AsString ' ' qryT.fields[j].AsString else if qryT.Fields[j].FieldName = 'name_' then ExcelApp.Cells[i,j 1]:=qryT.FieldByName('code_').AsString ' ' qryT.fields[j].AsString else ExcelApp.Cells[i,j 1]:=qryT.fields[j].AsString; qryT.Next; inc(i); end; ExcelApp.WorkBooks[1].Saveas('C:\海外獎金發放彙總表.xls'); ExcelApp.WorkBooks.Close; ExcelApp.Quit; |
pgdennis
資深會員 發表:41 回覆:526 積分:443 註冊:2002-05-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |