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;
|