選択したプリンタに出力するには?

解決


灼熱  2006-07-12 20:42:41  No: 22482

続けての質問で気がひけますが、
下記のようにプリンタの情報を取得しておいて、
Excelの操作で、直接プリントアウトする際、
★でエラーが出ます。
どのようにしたら、設定できるのでしょうか?

  //プリンター設定
  cmbbx_OutPrinter.Clear;
  cmbbx_OutPrinter.Items := Printer.Printers;
  if Printer.Printers.Count > 0 then begin
    cmbbx_OutPrinter.ItemIndex := Printer.PrinterIndex;
  end;

★ExcelWS.PrinterIndex := cmbbx_OutPrinter.ItemIndex;
  ExcelWS.PrintOut;


Basser  2006-07-12 22:47:15  No: 22483

Excelに対しての操作は Excel VBA です。
よって WorkSheet オブジェクトに PrinterIndex プロパティは存在しません。

PrintOutメソッドのパラメータ ActivePrinter で指定できるようです。
試していませんが下記のコードでいけるのではないのでしょうか?

var
  xlPrinter: OleVariant;
begin
  xlPrinter:= cmbbx_OutPrinter.Items[cmbbx_OutPrinter.ItemIndex];
  ExcelWS.PrintOut(EmptyParam, EmptyParam, EmptyParam, xlPrinter);
end;


灼熱  2006-07-12 22:56:06  No: 22484

続けての返信ありがとうございます。
できましたっ!!!
ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加