Page 60 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼通常使うプリンタを設定するには? ちょび 02/9/10(火) 10:07 ┗Re:通常使うプリンタを設定するには? JuJu 02/9/10(火) 17:07 ┗Re:通常使うプリンタを設定するには? ちょび 02/9/10(火) 17:44 ┗Re:通常使うプリンタを設定するには? JuJu 02/9/10(火) 21:17 ┗Re:通常使うプリンタを設定するには? ちょび 02/9/10(火) 21:53 ─────────────────────────────────────── ■題名 : 通常使うプリンタを設定するには? ■名前 : ちょび ■日付 : 02/9/10(火) 10:07 -------------------------------------------------------------------------
おはようございます。ちょびです。 また、質問が生まれてしまったので投稿させてもらいました。m(_ _)m ActiveWindow.SelectedSheets.PrintOut Copies:=1 上の記述だと(たぶん)アクティブなプリンタから印刷されることに なりますよね? これを、「通常使うプリンタ」から印刷させるようにするには どうしたらいいのか、ご存知の方よろしくお願いします。 |
ちょびさん、こんにちはぁ >上の記述だと(たぶん)アクティブなプリンタから印刷されることになりますよね? はい、ActivePrinterで印刷されます。 >これを、「通常使うプリンタ」から印刷させるようにするには >どうしたらいいのか、ご存知の方よろしくお願いします。 Excelを起動したときは、ActivePrinterは「通常使うプリンタ」ですよね。 途中で変えたときの対策かな^^ あまりいい方法とはいえないかもしれませんが、Excelをもう1個起動してそのActivePrinterを取得してみてはどうでしょうか。 (APIを使うより簡単かも) こんな感じ Application.ActivePrinter = CreateObject("Excel.Application").ActivePrinter ではではぁ |
JuJuさんありがとうございます。 もうちょっと教えてもらってもいいですか? >Excelを起動したときは、ActivePrinterは「通常使うプリンタ」ですよね。 >途中で変えたときの対策かな^^ そうなんです。 コマンドボタンを2つ作成し、ひとつはPDFWriterからファイル出力にしたのです。 次のような感じです。 Private Sub CommandButton1_Click() ' 計算結果をPDFに出力 Application.ActivePrinter = "Acrobat PDFWriter on LPT1:" ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "Acrobat PDFWriter on LPT1:" End Sub 上の ActivePrinter:= _ "Acrobat PDFWriter on LPT1:" の部分って、アクティブプリンタをPDFWriterにするっていうことでしょうか? だとすると、教えていただいた Application.ActivePrinter = CreateObject("Excel.Application").ActivePrinter ↑これを、変わりに書けば、PDFWriterで出力した後、アクティブなプリンタを 通常使うプリンタに戻してくれることになるのかなぁ??? それとも、もうひとつのボタンに次のように書けばいいんでしょうか? Private Sub CommandButton2_Click() ' 計算結果を通常のプリンタで出力 Application.ActivePrinter = CreateObject("Excel.Application").ActivePrinter ActiveWindow.SelectedSheets.PrintOut Copies:=1 End Sub くどい質問になってしまいましたが、助けていただけますでしょうか? よろしくお願いします。m(_ _)m |
ちょびさん、こんにちはぁ >Application.ActivePrinter = CreateObject("Excel.Application").ActivePrinter > ↑これを、変わりに書けば、PDFWriterで出力した後、アクティブなプリンタを >通常使うプリンタに戻してくれることになるのかなぁ??? PDFWriterで出力した後ですので、PrintOutメソッドのあとに入れます。 Private Sub CommandButton1_Click() ' 計算結果をPDFに出力 ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= "Acrobat PDFWriter on LPT1:" Application.ActivePrinter = CreateObject("Excel.Application").ActivePrinter End Sub もし、もとのプリンタに戻すというイメージでしたら、 Private Sub CommandButton1_Click() Dim strPrinter As String ' 今使っているプリンタを保存 strPrinter = Application.ActivePrinter ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "Acrobat PDFWriter on LPT1:" ' 元のプリンタへ戻す Application.ActivePrinter = strPrinter End Sub でも良いかもしれませんね。 >それとも、もうひとつのボタンに次のように書けばいいんでしょうか? >Private Sub CommandButton2_Click() >' 計算結果を通常のプリンタで出力 > > Application.ActivePrinter = CreateObject("Excel.Application").ActivePrinter > ActiveWindow.SelectedSheets.PrintOut Copies:=1 >End Sub でも良いですが、 PrintOutメソッドの、引値ActivePrinter を使って、こういう書き方もできます。 Private Sub CommandButton2_Click() ' 計算結果を通常のプリンタで出力 ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= CreateObject("Excel.Application").ActivePrinter End Sub ではではぁ |
JuJuさんこんばんは。 回答ありがとうございます。 なんとなくわかってきた気がします。(^^ゞ 自宅のため、肝心のファイルが無いのですぐに実験できないのですが 明日、早速会社で試してみたいと思います。 知りたかった以上のことが勉強できた感じでとても嬉しいです。 おかげで、似たような記述を繰り返していた箇所もわかりやすく 書き直せるような気になってます。 また、お世話になると思いますがよろしくお願いします。 ほんとにありがとうございました。 |