カテゴリ:com&Activex
(i)動的作成方法を使用します
最初にCOMOBJを使用してExcelオブジェクトを作成します。
Var ExcelApp:Variant;
ExcelApp:= CreateOleObject( 'excel.Application');
1)現在のウィンドウを表示します。
excelapp.visible:= true;
2)Excelタイトルバーを変更します。
ExcelApp.Caption:= 'アプリケーションコールMicrosoft Excel';
3)新しいワークブックを追加します:
excelapp.workbooks.add;
4)既存のワークブックを開く:
excelapp.workbooks.open( 'c:/excel/demo.xls');
5)2番目のワークシートをアクティブなワークシートとして設定します。
excelapp.worksheets [2] .activate;
または
excelapp.workssheets ['sheet2'] .activate;
6)セルに値を割り当てます。
ExcelApp.Cells [1,4] .Value:= '最初の行、4列';
7)指定された列の幅(ユニット:文字数)を設定し、最初の列を例として取得します。
excelapp.activesheet.columns [1] .columnswidth:= 5;
8)指定された行の高さ(ユニット:ポンド)(1ポンド= 0.035 cm)を設定し、2番目の動作例を使用します。
excelapp.activesheet.rows [2] .rowheight:= 1/0.035;
9)8行目の前にページブレークを挿入:
excelapp.worksheets [1] .rows [8] .pagebreak:= 1;
10)列8の前にページブレイクを削除します:
ExcelApp.ActiveSheet.Columns [4] .PageBreak:= 0;
11)境界線の幅を指定します:
excelapp.activesheet.range ['b3:d4'] .borders [2] .weight:= 3;
1-LEFT 2-RIGHT 3-TOP 4ボトム5-Slant( /)6-Slant( /)
12)最初の行と4番目の列のセル式をクリアします。
ExcelApp.ActiveSheet.cells [1,4] .ClearContes;
13)最初の行のフォントプロパティを設定します。
excelapp.activesheet.rows [1] .font.name:= 'lishu';
excelapp.activesheet.rows [1] .font.color:= clblue;
excelapp.activesheet.rows [1] .font.bold:= true;
ExcelApp.activeSheet.Rows [1] .font.underline:= true;
14)ページ設定を作成します:
a。
excelapp.activesheet.pagesetup.centerheader:= 'レポートデモ';
b。
excelapp.activesheet.pagesetup.centerfooter:= 'page&p';
c。
excelapp.activesheet.pagesetup.headermargin:= 2/0.035;
dボトムエンドへのフッターのマージンは次のとおりです。
excelapp.activesheet.pagesetup.headermargin:= 3/0.035;
e。
excelapp.activesheet.pagesetup.topmargin:= 2/0.035;
fボトムマージン2cm:
excelapp.activesheet.pagesetup.bottommargin:= 2/0.035;
G.Leftマージン2cm:
excelapp.activesheet.pagesetup.leftmargin:= 2/0.035;
h。
excelapp.activesheet.pagesetup.rightmargin:= 2/0.035;
i。
excelapp.activesheet.pagesetup.centerhorizontally:= 2/0.035;
jページは垂直に中央にあります。
excelapp.activesheet.pagesetup.centervertically:= 2/0.035;
k印刷セルメッシュケーブル:
excelapp.activesheet.pagesetup.printgridlines:= true;
15)操作のコピー:
aワークシート全体をコピーします。
excelapp.activesheet.used.range.copy;
b指定された領域をコピーします。
ExcelApp.ActiveSheet.range ['a1:e2'] .copy;
c位置A1から貼り付けを開始します。
excelapp.activesheet.range。['a1'] .pastespecial;
dファイルの端から貼り付けを開始します。
excelapp.activesheet.range.pastespecial;
16)行または列を挿入します。
a
b。
17)行または列を削除します。
a。
b。
18)プレビューワークシートを印刷:
excelapp.activesheet.printpreview;
19)印刷ワークシート:
excelapp.activesheet.printout;
20)ワークシートの保存:
excelapp.activeworkbook.savedではない場合
excelapp.activesheet.printpreview;
21)ワークシートを次のように保存します。
excelapp.saveas( 'c:/excel/demo1.xls');
22)救いをあきらめる:
excelapp.activeworkbook.saved:= true;
23)ワークブックを閉じる:
excelapp.workbooks.close;
24)Excelを終了:
excelapp.quit;
(ii)Delphi制御方法を使用します
ExcelApplication、Excelworkbook、Excelworksheetをそれぞれ形にします。
1)Excelを開きます
ExcelApplication1.Connect;
2)現在のウィンドウを表示します。
ExcelApplication1.visible [0]:= true;
3)Excelタイトルバーを変更します。
ExcelApplication1.Caption:= 'アプリケーションコールMicrosoft Excel';
4)新しいワークブックを追加します:
excelworkbook1.connectto(excelapplication1.workbooks.add(emptyparam、0));
5)新しいワークシートを追加します:
var temp_worksheet:_worksheet;
始める
temp_worksheet:= excelworkbook1。
worksheets.add(emptyparam、emptyparam、emptyparam、emptyparam、0)as _worksheet;
Excelworksheet1.connectto(temp_worksheet);
終わり;
6)既存のワークブックを開く:
ExcelApplication1.workbooks.open(c:/a.xls
emptyparam、emptyparam、emptyparam、emptyparam、emptyparam、
emptyparam、emptyparam、emptyparam、emptyparam、emptyparam、
emptyparam、emptyparam、emptyparam、emptyparam、0)
7)2番目のワークシートをアクティブなワークシートとして設定します。
excelapplication1.worksheets [2] .activate;
ExcelApplication1.workssheets ['sheet2'] .activate;
8)セルに値を割り当てます。
ExcelApplication1.cells [1,4] .value:= '最初の行、4列';
9)指定された列の幅(ユニット:文字数)を設定し、最初の列を例として取得します。
ExcelApplication1.activesheet.columns [1] .columnswidth:= 5;
10)指定された行の高さ(ユニット:ポンド)(1ポンド= 0.035 cm)を設定し、2番目の動作例を使用します。
excelapplication1.activesheet.rows [2] .rowheight:= 1/0.035;
11)8行目の前にページブレークを挿入:
ExcelApplication1.worksheets [1] .rows [8] .pagebreak:= 1;
12)列8の前にページブレイクを削除します:
ExcelApplication1.activesheet.columns [4] .pagebreak:= 0;
13)境界線の幅を指定します。
ExcelApplication1.activesheet.range ['b3:d4'] .borders [2] .weight:= 3;
1-LEFT 2-RIGHT 3-TOP 4ボトム5-Slant( /)6-Slant( /)
14)最初の行と4番目の列のセル式をクリアします。
ExcelApplication1.activesheet.cells [1,4] .ClearContes;
15)最初の行のフォントプロパティを設定します。
ExcelApplication1.activeSheet.Rows [1] .font.Name:= 'lishu';
ExcelApplication1.activeSheet.Rows [1] .font.color:= clblue;
ExcelApplication1.activeSheet.Rows [1] .font.bold:= true;
ExcelApplication1.activeSheet.Rows [1] .font.underline:= true;
16)ページ設定を作成します:
a。
ExcelApplication1.activeSheet.PagesEtup.CenterHeader:= 'Report Demo';
b。
ExcelApplication1.activesheet.pagesetup.centerfooter:= 'page&p';
c。
ExcelApplication1.activesheet.pagesetup.headermargin:= 2/0.035;
dボトムエンドへのフッターのマージンは次のとおりです。
ExcelApplication1.activesheet.pagesetup.headermargin:= 3/0.035;
e。
ExcelApplication1.activesheet.pagesetup.topmargin:= 2/0.035;
fボトムマージン2cm:
ExcelApplication1.activesheet.pagesetup.bottommargin:= 2/0.035;
G.Leftマージン2cm:
ExcelApplication1.activesheet.pagesetup.leftmargin:= 2/0.035;
h。
ExcelApplication1.activesheet.pagesetup.rightmargin:= 2/0.035;
i。
ExcelApplication1.activesheet.pagesetup.centerhorizontally:= 2/0.035;
jページは垂直に中央にあります。
ExcelApplication1.activesheet.pagesetup.centervertically:= 2/0.035;
k印刷セルメッシュケーブル:
ExcelApplication1.activesheet.pagesetup.printgridlines:= true;
17)操作のコピー:
aワークシート全体をコピーします。
ExcelApplication1.activesheet.used.range.copy;
b指定された領域をコピーします。
ExcelApplication1.activesheet.range ['a1:e2'] .copy;
c位置A1から貼り付けを開始します。
ExcelApplication1.activesheet.range。['a1'] .pastespecial;
dファイルの端から貼り付けを開始します。
excelapplication1.activesheet.range.pastespecial;
18)行または列を挿入します。
a。
b。
19)行または列を削除します。
a。
b。
20)プレビューワークシートを印刷:
excelapplication1.activesheet.printpreview;
21)印刷ワークシート:
ExcelApplication1.activesheet.printout;
22)ワークシートの保存:
excelapplication1.activeworkbook.savedでない場合
excelapplication1.activesheet.printpreview;
23)ワークシートを次のように保存します。
ExcelApplication1.saveas( 'c:/excel/demo1.xls');
24)救いをあきらめる:
ExcelApplication1.ActiveWorkBook.saved:= true;
25)ワークブックを閉じる:
ExcelApplication1.workbooks.close;
26)Excelを終了:
ExcelApplication1.quit;
ExcelApplication1.disconnect;
(iii)Delphiを使用してExcel 2D図を制御します
ExcelApplication、Excelworkbook、Excelworksheetをそれぞれ形にします
var shell1、acart、範囲:バリアント;
1)最初のワークブックのときに最初のワークシートを選択します
shell1:= excelapplication1.workbooks [1] .worksheets [1];
2)2次元グラフを追加します
achart:= sheet1.chartobjects.add(100,100,200,200);
3)2次元グラフの形状を選択します
Achart.Chart.ChartType:= 4;
4)2次元グラフに値を割り当てます
シリーズ:= acart.chart.seriescollection;
範囲:= sheet1!r2c3:r3c9;
series.add(range、true);
5)2次元グラフのタイトルを追加します
achart.chart.hastitle:= true;
Achart.Chart.ChartTitle.Characters.Text:= 'Excle 2D Diagram'
6)2次元グラフのタイトルフォントサイズを変更する
achart.chart.charttitle.font.size:= 6;
7)2次元図に説明を追加します
achart.chart.axes(xlcategory、xlprimary).hastitle:= true;
achart.chart.axes(xlcategory、xlprimary).axistitle.characters.text:= 'subscript説明';
8)2次元図に左マークを追加します
achart.chart.axes(xlvalue、xlprimary).hastitle:= true;
achart.chart.axes(xlvalue、xlprimary).axistitle.characters.text:= '左マーク説明';
9)2次元図に右マークを追加します
achart.chart.axes(xlvalue、xlsecondary).hastitle:= true;
achart.chart.axes(xlvalue、xlsecondary).axistil.characters.text:= '右マーク説明';
10)2次元グラフの表示領域サイズを変更する
achart.chart.plotarea.left:= 5;
achart.chart.plotarea.width:= 223;
achart.chart.plotarea.height:= 108;
11)2次元グラフの座標軸に命令を追加する
achart.chart.seriescollection [1] .name:= 'axis description';