[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA プリンタ指定』(しげ)
VBAでプリンタを指定するために下記のコードを入れました。
そのままプリントするところで、ESCキーやキャンセルをした場合も印刷されます。
プリンタの種類はプリンタ・PDF・FAX送信の3種類です。
使い方としては
プリンタを選択し、プリンタを選んだ場合はそのまま印刷する
PDF・FAX送信を選んだ場合はESCキーまたはキャンセルボタンで印刷指示前状態にしたいのですが、うまくいきません。
教えてください。
Sub 印刷()
Application.Dialogs(xlDialogPrinterSetup).Show
Application.EnableCancelKey = xlErrorHandler On Error GoTo MyError ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False Application.StatusBar = False Exit Sub
MyError:
If MsgBox("中断しますか?", vbQuestion + vbYesNo) = vbNo Then Resume Else Application.StatusBar = False End If
End Sub
< 使用 Excel:Excel2010、使用 OS:Windows7 >
パソコンの調子が悪いので 手打ちですけど、 Dim x As Variant x = Application.Dialogs(xlDialogPrinterSetup).Show Debug.Print x として戻り値で判断されてはいかがでしょう?
パソコンがつながったので直しておきました (SoulMan) 2018/03/05(月) 21:58
>プリンタを選択し、プリンタを選んだ場合はそのまま印刷する 読み返してみると↑ここが不親切なので Debug.Print ActivePrinter です。 もう寝ます。 おやすみなさいzzzzzzzzzzzzzzzzzzzzz
(SoulMan) 2018/03/05(月) 23:38
すみません 変数は、 Dim x As Boolean にして下さい (SoulMan) 2018/03/05(月) 23:45
iPhoneからなんでちょっと上手く 書けませんが、お許しを Sub てすと() Dim x As Boolean Do x = Application.Dialogs(xlDialogPrinterSetup).Show If x = True Then If ActivePrinter = "ここは通すプリンター名" Then ActiveWindow.SelectedSheets.PrintOut 1 End If End If Loop While x = False End Sub (SoulMan) 2018/03/06(火) 15:53
ありがとうございました!
(しげ) 2018/03/07(水) 09:55
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.