Delphi Programming / Object Pascal
[掲載 2009年05月26日] [更新 2013年12月12日] エクセル操作フォームEx |
エクセル操作フォームEx 参考コード類
シート全体の列と行の操作 |
動作確認等 |
Windows 7 U64(SP1) + Delphi XE Pro + Excel 2010 |
列幅を全て標準の幅にする例です.ついでに,セルの配置も設定してみました.
標準の幅とは,標準スタイル ([オプション] の設定) の 1 文字分,これはプロポーショナルフォントでは,数字の 0 を基準とした幅のことです. |
|
図1
実行前 |
|
図2
実行後
- 全ての列幅を標準に
- セル内の配置を上下左右の中央に
|
//=============================================================================
// シート全体の列幅を標準の幅にする
//
// 標準の幅とは,標準スタイル([オプション]の設定)の1文字分
// プロポーショナルフォントでは,数字の0が列幅の基準
//=============================================================================
procedure TplExcelFormEx1.Button1Click(Sender: TObject);
var
ARange : Txlf2000Range;
begin
ARange := xlfExcelSheet.Cells;
ARange.UseStandardWidth := True;
//セル内の配置を上下左右共に中央に
//列全体なので,結果的にシート全体の設定となる
ARange.EntireColumn.VerticalAlignment := xlVAlignCenter;
ARange.EntireColumn.HorizontalAlignment := xlHAlignCenter;
end;
|
図3
実行前 |
|
図4
実行後
|
//=============================================================================
// シート全体の列幅を全て同じにする
//=============================================================================
procedure TplExcelFormEx1.Button2Click(Sender: TObject);
var
ARange : Txlf2000Range;
begin
ARange := xlfExcelSheet.Columns;
ARange.EntireColumn.ColumnWidth := 12.5;
end;
セルの内容にあわせて列幅を自動調整する例です.これを実行してしまうと,実際の印刷結果と違ってしまう可能性が十分にあります.
Windows 版のエクセルの場合,セル幅を自動調整したとしても,表示と実際の印刷が一致するとは限りません. |
|
図5
実行前 |
|
図6
実行後
|
//=============================================================================
// 列の幅をセルの内容に合わせて自動調整する
//=============================================================================
procedure TplExcelFormEx1.Button3Click(Sender: TObject);
var
ARange : Txlf2000Range;
begin
ARange := xlfExcelSheet.Columns;
ARange.AutoFit;
end;
行の高さを全て標準の高さにします.この値は [オプション] で設定したフォントのポイント数です. |
|
図7
実行前 |
|
図8
実行後
|
//=============================================================================
// 行の高さを全て同じにする
//=============================================================================
procedure TplExcelFormEx1.Button4Click(Sender: TObject);
var
ARange : Txlf2000Range;
begin
ARange := xlfExcelSheet.Rows;
ARange.RowHeight := 18.2;
end;
行の高さを全て,指定した値の高さにします.指定するする値はポイント数です. |
|
図9
実行前 |
|
図10
実行後
|
//=============================================================================
// 行の高さを全て標準の高さにする
//=============================================================================
procedure TplExcelFormEx1.Button5Click(Sender: TObject);
var
ARange : Txlf2000Range;
begin
ARange := xlfExcelSheet.Rows;
ARange.UseStandardHeight := True;
end;
セルの内容を全て消去する例です.このコードでは書式や数式は消去しません.これらを全て消去するには,Clear メソッドを実行します. |
|
図11
実行前 |
|
図12
実行後 |
//=============================================================================
// シートのセル内容を全てクリアする
// 書式と数式はそのまま
//=============================================================================
procedure TplExcelFormEx1.Button6Click(Sender: TObject);
var
ARange : Txlf2000Range;
begin
ARange := xlfExcelSheet.Cells;
ARange.ClearContents;
end;
|