求救 請問高手們 Delphi 如何讓 excel 完成小計功能? |
尚未結案
|
phliao
一般會員 發表:8 回覆:8 積分:3 註冊:2003-08-14 發送簡訊給我 |
小弟我遇到了二個問題: 我動態產生的excel,資料也從Table轉入了,
我想設定小計功能,所以我錄下了巨集,
Rows("5:72").Select
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(12, 13, 14 , 15, 16, 17, 18, 19, 20, 21, 22, 23), Replace:=True, PageBreaks:=False, SummaryBelowData:=True 問題1. 不知道Array(12, 13, 14 , 15, 16, 17, 18, 19, 20, 21, 22, 23)這個要怎麼轉碼 隨便給個值
FWorkSheet.RANGE['A4'].Subtotal(1, xlSum, 'Array(12, 13, 14 , 15, 16, 17, 18, 19, 20, 21, 22, 23)', True, False, True);
我有去看excel2000.pas,需要六個參數 執行後,出現 "無法取得Range類別的Subtotal屬性" 問題2. 為什麼會呼叫不到呢?錯誤訊息應該是出現 'Class Range 的 Subtotal方法失敗' 才對,不知有沒有誰知道如何解決呢?
|
phliao
一般會員 發表:8 回覆:8 積分:3 註冊:2003-08-14 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 忘了附上在excel2000.pas查到的 小計函數宣告(Subtotal) procedure Subtotal(GroupBy: Integer; Function_: XlConsolidationFunction; TotalList: OleVariant; Replace: OleVariant; PageBreaks: OleVariant; SummaryBelowData: XlSummaryRow); dispid 882;有很多的Excel錄下來的巨集在Delphi中未必可用, 不妨嘗試在小計的cell上填入sum()的統計函數 for i:= 1 to ..... cellrange:= '=SUM(' getCell(c) InttoStr(row) '..' getCell(c) InttoStr(row 11) ')'; Worksheet.Cells[row 12,c]:= cellrange; end; 例如這段語法, 是指定cellrange(string)= 'sum(B1..B12)' 而其中getCell(c)是我自定的函數, 你可能要自己來設定, 目的在於計算對應格 預設 B13是存放 SUM(B1..B12)公式(假設row=1), 而下一列 C13的公式應該是SUM(C1..C12) D13的公式應該是SUM(D1..D12) 依此類推, 就是在算 Worksheet.Cells[row 12,c]應該存放那一COLUMN(B or C or D)的值 寫了那麼多, 也不知道自己在講什麼, 真得很不好解說, 反正一個原則, 利用sum()的excel函數填入到要做小計的cell上, 而不只sum可以這樣做, 非常多的函數都可以利用這種方式來填入公式 給你一個方向, 其他靠自己囉! |
phliao
一般會員 發表:8 回覆:8 積分:3 註冊:2003-08-14 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi phliao, 試試這樣寫:
var SubtotalColumn :Olevariant; begin .... SubtotalColumn := VarArrayCreate([1,12],VarVariant); SubtotalColumn := VarArrayOf([12,13,14,15,16,17,18,19,20,21,22,23]); ExcelApplication1.Cells.Subtotal(1,xlSum,SubtotalColumn,True,EmptyParam,xlSummaryBelow); .... end;---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
phliao
一般會員 發表:8 回覆:8 積分:3 註冊:2003-08-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |