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

解決


灼熱  2006-07-12 11:42:41  No: 22482  IP: 192.*.*.*

続けての質問で気がひけますが、
下記のようにプリンタの情報を取得しておいて、
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 13:47:15  No: 22483  IP: 192.*.*.*

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 13:56:06  No: 22484  IP: 192.*.*.*

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

編集 削除