線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:5022
推到 Plurk!
推到 Facebook!

如何設定Excel中圖表X軸的範圍值

尚未結案
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-06 12:01:06 IP:61.30.xxx.xxx 未訂閱
各位大大好,我想要利用程式去控制Excel中圖表X軸的範圍值, 但不知道要如何寫程式。 example:有一個Excel中已有一個圖表,它的X軸是日期,如何用程式去設定 Excel中圖表X軸的範圍值。 var FMsExcel : variant ; begin FmsExcel.Application.workbooks.open('c:\Book1.xls'); FMSExcel.worksheets['Sheet1'].ChartObjects('圖表 26').Activate; //設定X軸最大值及最小值的語法為何? end;
chris_shieh
高階會員


發表:46
回覆:308
積分:240
註冊:2004-04-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-06 13:18:17 IP:218.174.xxx.xxx 未訂閱
var RangeExcel:ExcelRange; begin RangeExcel:=ExcelApplication1.Range['A' IntToStr(1),'A' IntToStr(30)]; //設定資料範圍A1~A30 ExcelWorkbook1.ActiveChart.SetSourceData(RangeExcel, xlColumns); @瞭解越多.懂得越少@
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-06 13:35:05 IP:61.30.xxx.xxx 未訂閱
引言: var RangeExcel:ExcelRange; begin RangeExcel:=ExcelApplication1.Range['A' IntToStr(1),'A' IntToStr(30)]; //設定資料範圍A1~A30 ExcelWorkbook1.ActiveChart.SetSourceData(RangeExcel, xlColumns); @瞭解越多.懂得越少@
大大你好,請問宣告ExcelRange型態,是不是要先 Uses什麼呢?
chris_shieh
高階會員


發表:46
回覆:308
積分:240
註冊:2004-04-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-07 11:53:20 IP:219.68.xxx.xxx 未訂閱
參考 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=35017 Delphi 5/6 use "Excel97" 宣告方式: var RangeExcel:Range; Delphi 7 use "ExcelXP" (Excel2000) 宣告方式: var RangeExcel:ExcelRange; @瞭解越多.懂得越少@ 發表人 - chris_shieh 於 2005/04/07 11:58:42
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-08 15:49:16 IP:61.30.xxx.xxx 未訂閱
引言: 參考 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=35017 Delphi 5/6 use "Excel97" 宣告方式: var RangeExcel:Range; Delphi 7 use "ExcelXP" (Excel2000) 宣告方式: var RangeExcel:ExcelRange; @瞭解越多.懂得越少@ 發表人 - chris_shieh 於 2005/04/07 11:58:42
謝謝chris_shieh大大的回覆, 但現在又有另一個問題 var RangeExcel:ExcelRange; begin RangeExcel:=ExcelApplication1.Range['A'+IntToStr(1),'A'+IntToStr(30)]; //設定資料範圍A1~A30 ExcelWorkbook1.ActiveChart.SetSourceData(RangeExcel, xlColumns); compiler時會出現錯誤訊息
chris_shieh
高階會員


發表:46
回覆:308
積分:240
註冊:2004-04-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-08 16:47:28 IP:218.174.xxx.xxx 未訂閱
我想你應該是用CreateOleObject方式 我是用TExcelApplication 所以我想你需要轉換一下 @瞭解越多.懂得越少@
GE
一般會員


發表:4
回覆:16
積分:14
註冊:2003-01-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-08 18:09:40 IP:219.81.xxx.xxx 未訂閱
A         B
time      qty
2004/1/1  100
2004/2/1  200
2004/3/1  100
2004/4/1  400
2004/5/1  200
2004/6/1  400
2004/7/1  200
2004/8/1  100
2004/9/1  50
uses Excel2000, ComObj...........;    var
  Excel, WorkBook, WorkSheet, Range: Variant;
begin
  try
    Excel := CreateOleObject('Excel.Application');
    WorkBook := Excel.Workbooks.Open('c:\test.xls');
    WorkSheet := WorkBook.WorkSheets['Sheet1'];
    WorkSheet.Select;
  except
    ShowMessage('無法啟動Excel');
    Excel.Quit;
    Exit;
  end;      Range := WorkSheet.Range['A1:B10'];
  WorkSheet.ChartObjects('圖表 26').Activate;
  Excel.ActiveChart.ChartArea.Select;
  Excel.ActiveChart.SetSourceData(Range, xlColumns);      Excel.Visible := true;
end;
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-04-11 11:14:02 IP:61.30.xxx.xxx 未訂閱
引言: 各位大大好,我想要利用程式去控制Excel中圖表X軸的範圍值, 但不知道要如何寫程式。 example:有一個Excel中已有一個圖表,它的X軸是日期,如何用程式去設定 Excel中圖表X軸的範圍值。 var FMsExcel : variant ; begin FmsExcel.Application.workbooks.open('c:\Book1.xls'); FMSExcel.worksheets['Sheet1'].ChartObjects('圖表 26').Activate; //設定X軸最大值及最小值的語法為何? end;
謝謝各位大大的意見,我己經找到語法了,如下 var FMsExcel,WorkSheet : variant ; min_date,max_date:string; begin try FMsExcel := CreateOleObject('Excel.Application'); except MessageDlg('您的電腦中無Excel,請洽資訊人員!',mtInformation, [mbYes], 0) ; end; FmsExcel.Application.workbooks.open('c:\test.xls'); //設定 X軸的最大、最小值 Query1.Close; Query1.sql.Clear; Query1.SQL.Add('select getdate()'); Query1.Open; max_date:=formatdatetime('yyyy/mm/dd',Query1.Fields[0].asdatetime); Query1.Close; Query1.sql.Clear; Query1.SQL.Add('select getdate()-40'); Query1.Open; min_date:=formatdatetime('yyyy/mm/dd',Query1.Fields[0].asdatetime); WorkSheet:= FMSExcel.WorkSheets['Sheet1']; WorkSheet.ChartObjects('圖表 26').Activate; FMSExcel.ActiveChart.ChartArea.Select; FMSExcel.ActiveChart.Axes(1).MinimumScale := min_date; FMSExcel.ActiveChart.Axes(1).MaximumScale := max_date; FMSExcel.Application.visible := True ; end;
系統時間:2024-11-24 23:29:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!