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
シート全体の列に対する操作例
//=============================================================================
//  シート全体の列幅を標準の幅にする
//
//  標準の幅とは,標準スタイル([オプション]の設定)の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
実行後
  • 列幅が全て同じになる

リスト2
列幅を全て同じにする
//=============================================================================
//  シート全体の列幅を全て同じにする
//=============================================================================
procedure TplExcelFormEx1.Button2Click(Sender: TObject);
var
  ARange : Txlf2000Range;
begin
  ARange := xlfExcelSheet.Columns;
  ARange.EntireColumn.ColumnWidth := 12.5;
end;




セルの内容にあわせて列幅を自動調整


セルの内容にあわせて列幅を自動調整する例です.これを実行してしまうと,実際の印刷結果と違ってしまう可能性が十分にあります.
Windows 版のエクセルの場合,セル幅を自動調整したとしても,表示と実際の印刷が一致するとは限りません.


図5
実行前
図6
実行後
  • 列幅が自動調整される

リスト3
列幅を自動調整
//=============================================================================
//  列の幅をセルの内容に合わせて自動調整する
//=============================================================================
procedure TplExcelFormEx1.Button3Click(Sender: TObject);
var
  ARange : Txlf2000Range;
begin
  ARange := xlfExcelSheet.Columns;
  ARange.AutoFit;
end;




行高さを全て標準の高さにする


行の高さを全て標準の高さにします.この値は [オプション] で設定したフォントのポイント数です.


図7
実行前
図8
実行後
  • 行高さが全て標準の高さになる

リスト4
行の高さを標準の高さにする
//=============================================================================
//  行の高さを全て同じにする
//=============================================================================
procedure TplExcelFormEx1.Button4Click(Sender: TObject);
var
  ARange : Txlf2000Range;
begin
  ARange := xlfExcelSheet.Rows;
  ARange.RowHeight := 18.2;
end;




行高さを全て同じにする


行の高さを全て,指定した値の高さにします.指定するする値はポイント数です.


図9
実行前
図10
実行後
  • 行高さが全て指定した高さとなる

リスト5
行の高さを指定した高さにする
//=============================================================================
//  行の高さを全て標準の高さにする
//=============================================================================
procedure TplExcelFormEx1.Button5Click(Sender: TObject);
var
  ARange : Txlf2000Range;
begin
  ARange := xlfExcelSheet.Rows;
  ARange.UseStandardHeight := True;
end;




アクティブシートのセルの内容をクリア


セルの内容を全て消去する例です.このコードでは書式や数式は消去しません.これらを全て消去するには,Clear メソッドを実行します.


図11
実行前
図12
実行後

リスト6
セルの内容を全てクリアする
//=============================================================================
//  シートのセル内容を全てクリアする
//  書式と数式はそのまま
//=============================================================================
procedure TplExcelFormEx1.Button6Click(Sender: TObject);
var
  ARange : Txlf2000Range;
begin
  ARange := xlfExcelSheet.Cells;
  ARange.ClearContents;
end;