Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9465 / 13644 ツリー ←次へ | 前へ→

【26963】Printoutの前にプリンタの状態を確認したい のりぞう 05/7/25(月) 15:56 質問[未読]
【27042】Re:Printoutの前にプリンタの状態を確認し... YN62 05/7/27(水) 6:53 回答[未読]
【27044】Re:Printoutの前にプリンタの状態を確認し... 知ろう途 05/7/27(水) 8:34 発言[未読]
【27179】Re:Printoutの前にプリンタの状態を確認し... のりぞう 05/8/1(月) 10:27 お礼[未読]

【26963】Printoutの前にプリンタの状態を確認した...
質問  のりぞう  - 05/7/25(月) 15:56 -

引用なし
パスワード
   こんにちは。
現在、マクロからPrintoutでシートを印刷しているのですが、
ネットワークプリンタのプリンタに接続出来ていないとエラーになってしまい、
マクロが継続できません。
Printoutの前にプリンタの状態を取得する何か良い方法はありませんか?

【27042】Re:Printoutの前にプリンタの状態を確認...
回答  YN62  - 05/7/27(水) 6:53 -

引用なし
パスワード
   ▼のりぞう さん:
おはようございます。

>ネットワークプリンタのプリンタに接続出来ていないとエラーになってしまい、
>マクロが継続できません。
>Printoutの前にプリンタの状態を取得する何か良い方法はありませんか?

Sub ChangePrinter()
  Dim myPrn As String

  myPrn = Application.ActivePrinter

  'プリンタを切り替える・・・プリンター名を型番で
  Application.ActivePrinter = _
    " Canon LBP-450 LIPS4 on LPT1:"

  ActiveSheet.PrintOut

  Application.ActivePrinter = myPrn
End Sub

【27044】Re:Printoutの前にプリンタの状態を確認...
発言  知ろう途  - 05/7/27(水) 8:34 -

引用なし
パスワード
   のりぞう さんおはようですます。

横から失礼します。
ネットワークでプリンタを使用する際に名前を指定してしまうと
ドライバを新たに追加したり、はたまた別の人に勝手に追加され
たりした時にエラーになる場合があります。

よって勝手ながらYN62さんのコードを引用させてもらうと。。。

>Sub ChangePrinter()
>  Dim myPrn As String
>
>  myPrn = Application.ActivePrinter
>
   If Application.Dialogs(xlDialogPrinterSetup).Show = True Then
   ActiveSheet.PrintOut
   End If
>
>  Application.ActivePrinter = myPrn
>End Sub

とするか前もって印刷外のセルに書きとめてから使用した方が
良いと思います。
もちろんファイルを閉じるイベントにでも上記のように元の
プリンタに戻す事をお忘れなく。

Sub PriCh()

  If Application.Dialogs(xlDialogPrinterSetup).Show = True Then  
   [G10].Value = Application.ActivePrinter
  End If
  
End Sub

【27179】Re:Printoutの前にプリンタの状態を確認...
お礼  のりぞう  - 05/8/1(月) 10:27 -

引用なし
パスワード
   YN62さん、知ろう途さん
有難うございます、試してみます。
またよろしくお願いします。

9465 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free