喫茶XRAYトップページ

[スレッド全体
]

[3460] ワード・エクセル操作フォームの印刷機能返信 削除
2010/6/16 (水) 10:38:12 Mr.XRAY
エクセル(Microsoft Excel)とワード(Microsoft Word)は,
プリンタの情報を内部で独自に持っています.
そのため,DelphiのTPrinterオブジェクトでは制御できません.
(DEVMODE構造体を設定しても,エクセル内部の設定が使用されます)

エクセルの場合,詳細なプロパティを設定して印刷したい場合は,
エクセルのダイアログを表示して印刷してください.
参考コードは,以下にあります.

[エクセルの印刷ダイアログ]
http://mrxray.on.coocan.jp/Delphi/plExcelEx/T_PrintDialog.htm

//=============================================================================
//  [印刷]ボタンクリックでエクセルの印刷ダイアログを表示して印刷する方法
//
//  継承フォームの[印刷]ボタンクリックイベントで
//  (1)inherited; を無効にする
//     (継承元のエクセル操作フォームの印刷コードを無効にする)
//  (2)印刷ダイアログを表示するコードを書く
//
//  エクセルの印刷ダイアログ表示のコードは以下を参照
//  [エクセルの印刷ダイアログ]
//  http://mrxray.on.coocan.jp/Delphi/plExcelEx/T_PrintDialog.htm
//=============================================================================
procedure TplExcelFormEx2.btnPrintClick(Sender: TObject);
begin
//  inherited;

  エクセルの印刷ダイアログ表示のコード,あるいは印刷コードを書く
end;


あるいは,独自の印刷ダイアログを作成するの1つの方法かも知れません
VBAのヘルプを[印刷]で調べるといろいろでてきます.
例えば,印刷対象となっているシートを,倍率を指定して印刷するには,

  xlfExcelSheet.PageSetup.Zoom := 200; //200%の意味
 
でできます.


[3475] エクセル操作フォームExの印刷プレビュー返信 削除
2010/6/18 (金) 11:15:31 Mr.XRAY
ついてでですので,表題の件について.
エクセル操作フォームExとワード操作フォームExで印刷プレビューを
実行すると,動作不良となります.
これは,現在のところ,いや,今後も修正するつもりはありません.

特にエクセルの印刷プレビューはあてになりません.
ネットで検索すると,印刷プレビューではこうこう表示されているのに
印刷すると... という質問をよく見かけます.
目安には利用できますが.

Excel2007には,[ページレイアウト表示]というが追加されています.
これは結構正確なようです.

http://mrxray.on.coocan.jp/Delphi/plExcelEx/T_PageLayout.htm

ちなみに,Excel2010では,[印刷プレビュー]ボタンはなくなったそうです.


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82