Delphi Programming / Object Pascal

[掲載 2009年05月25日] [更新 2013年12月16日] エクセル操作フォームEx |
エクセル操作フォームEx 参考コード類
改ページの設定と設定削除 |
| 動作確認等 |
Windows 7 U64(SP1) + Delphi XE Pro + Excel 2010 |
| 指定列位置から、次のページとする例です。ここでは C 列から次のページとします。 |
 |
図1
実行結果 |
procedure TplExcelFormEx1.Button1Click(Sender: TObject);
var
ARange : Txlf2000Range;
begin
ARange := xlfExcelSheet.Range['C6','C6'];
xlfExcelSheet.VPageBreaks.Add(ARange);
end;
| 指定行から改ページする例です。ここでは 5 行目から次のページとします。 |
 |
図2
実行結果 |
procedure TplExcelFormEx1.Button2Click(Sender: TObject);
begin
xlfExcelSheet.HPageBreaks.Add(xlfExcelSheet.Range['D5','D5']);
end;
| 指定セルから改ページする例です。ここでは現在アクティブなセルから次ページとします。 |
 |
図3
実行結果 |
procedure TplExcelFormEx1.Button3Click(Sender: TObject);
var
ARange : Txlf2000Range;
begin
//現在アクティブなセルのRangeオブジェクトを取得
ARange := xlfExcelApp.ActiveCell;
xlfExcelSheet.HPageBreaks.Add(ARange);
xlfExcelSheet.VPageBreaks.Add(ARange);
end;
任意のセルをコードで指定するには、次のようにします。
このコードは C6 から改ページします。 |
procedure TplExcelFormEx1.Button5Click(Sender: TObject);
var
ARange : Txlf2000Range;
begin
ARange := xlfExcelSheet.Range['C6','C6'];
ARange.PageBreak := Integer(xlPageBreakManual);
end;
| 指定セルに対して、改ページを設定したり、解除するコードです。ただし、このコードは常にアクティブなセルに対してだけ有効です。したがって、実際の使用では、改ページを設定したセルを記憶しておく必要があります。 |
 |
図4
実行結果例 |
 |
図5
もう一度クリックすると解除 |
procedure TplExcelFormEx1.Button6Click(Sender: TObject);
var
objCmdBars : OleVariant;
begin
xlfSetFocusExcel;
if xlfExcelVersionNo >= 12 then begin
objCmdBars := xlfExcelApp.CommandBars;
try
objCmdBars.FindControl(ID := 1588).Execute;
except
end;
end;
end;
| 指定セルに改ページが設定されている場合はそれを解除します。設定されていなければ何もしません。 |
procedure TplExcelFormEx1.Button7Click(Sender: TObject);
var
ARange : Txlf2000Range;
begin
ARange := xlfExcelSheet.Range['D5','D5'];
ARange.PageBreak := Integer(xlPageBreakNone);
end;
| 改ページの設定を全て解除し、デフォルトの改ページ設定に戻します。 |
procedure TplExcelFormEx1.Button8Click(Sender: TObject);
var
ARange : Txlf2000Range;
begin
ARange := xlfExcelSheet.Cells;
ARange.PageBreak := Integer(xlPageBreakNone);
end;
| 同じく改ページの設定を全て解除しますが、コマンド ID を使用する例です。 |
procedure TplExcelFormEx1.Button9Click(Sender: TObject);
var
objCmdBars : OleVariant;
begin
if xlfExcelVersionNo >= 12 then begin
objCmdBars := xlfExcelApp.CommandBars;
try
objCmdBars.FindControl(ID := 1585).Execute;
except
end;
end;
end;
|