[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『プリンタ選択マクロの修正』(minoru)
お世話になります、
過日、下記のプリンタ選択マクロをご教示いただき
重宝しております。プリンタ選択画面にて
「設定」「OK」「キャンセル」と表示されるのですが
「キャンセル」ボタンを選択しても印刷キャンセルできません。
印刷をキャンセルできるようにマクロを修正したいのですが
if then とありますので Elseifとか end ifとか試しているのですが
よくわかりませんので、よろしくお願いします。
Private Sub プリンタ選択()
Dim ans As Boolean ans = Application.Dialogs(xlDialogPrinterSetup).Show If ans Then MsgBox "選択されたプリンタは" & Application.ActivePrinter End Sub
< 使用 Excel:Excel2002、使用 OS:WindowsXP >
>if then とありますので Elseifとか end ifとか試しているのですが
その試したコードを見せてください。でないと、何を勘違いされているのか、何を理解されていないのか
等がわかりません。
「OK」「キャンセル」ボタンはのどちらが押されたかは 提示されたコードでは、
変数ans に、その結果が格納されます。
変数 ans True ------ OKボタンが押された False ------ Falseボタンが押された
提示されたコードの
>If ans Then MsgBox "選択されたプリンタは" & Application.ActivePrinter If ans = True Then MsgBox "選択されたプリンタは" & Application.ActivePrinter
これと同じ意味です。
つまり、プリンタ選択ダイアログが表示され、OKボタンが押された時だけ 選択されたプリンタ名を表示しています。変数ansがFalse(キャンセルが押された)時は、 何も表示されませんよね?
変数を使わなくても
if Application.Dialogs(xlDialogPrinterSetup).Show then '印刷 end if
このようなコードにすると、OKボタンが押された時だけ印刷がはじまります。 もちろん、'印刷の代わりに実際には 印刷するコードを入れるのですよ!!
以上です
( ichinose) 2014/09/18(木) 06:06
>If ans Then MsgBox "選択されたプリンタは" & Application.ActivePrinter これは If ans Then MsgBox "選択されたプリンタは" & Application.ActivePrinter End If と同じです。 (たいふ) 2014/09/18(木) 09:47
返信ありがとうございます。
End if と End sub を混同していました。
ichinose様のご指摘どおりで解決いたしました。
(minoru) 2014/09/18(木) 22:14
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.