まずあるブックを開きます(印刷範囲の設定はないものとします)。
Button01クリックで印刷範囲を設定します。
このブックを閉じます。
再度開いて、Button02をクリックすると、設定した印刷範囲を選択状態に
します。
動作確認 WindowsXP(SP2) + Delphi7
//=============================================================================
// 印刷範囲の設定
//=============================================================================
procedure TplExcelForm2.Button01Click(Sender: TObject);
begin
ExcelSheet.PageSetup.PrintArea:='A1:E20';
Self.OverWriteBtnClick(nil);
end;
//=============================================================================
// 印刷範囲の取得とその範囲を選択状態にする
//=============================================================================
procedure TplExcelForm2.Button02Click(Sender: TObject);
var
APrintAreaStr : String;
ARangeStr : String;
APos : Integer;
AStart,AEnd : String;
begin
//このシートに設定されている印刷範囲を取得
APrintAreaStr:= ExcelSheet.PageSetup.PrintArea;
if APrintAreaStr<>'' then begin
//セルの文字列を取得
ARangeStr:=StringReplace(APrintAreaStr,'$','',[rfReplaceAll]);
APos:=Pos(':',ARangeStr);
AStart:=Copy(ARangeStr,1,APos-1);
AEnd :=Copy(ARangeStr,APos+1,Length(ARangeStr));
//その範囲を選択状態にする
ExcelSheet.Range[AStart,AEnd].Select;
end else begin
ShowMessage('印刷範囲は設定されていません。');
end;
end;
|