プロが教える店舗&オフィスのセキュリティ対策術

Application.DisplayAlerts = False
XXXXXXXX
Application.DisplayAlerts = True

で、確認画面を出さずにXXXXXXXXの処理をすることができますが、
その確認画面に、いくつかの選択ボタンがある場合、
確認画面を出さずに、かつ、任意のボタンを押した状態で処理を進めさせるには、どのようにすればよいのでしょうか?

そのまま Application.DisplayAlerts を使うと、確認画面は出ないものの
デフォルトのボタン(フォーカスがあるボタン)が押された状態で、
処理が進められてしまうようです。

Application.DisplayAlerts を使わない別な方法でもかまいません。
ご存知の方、ご教授いただけると幸いです。
よろしくお願いします。

A 回答 (2件)

開くときに確認ダイアログが出るのは「読み取り専用」ではなく「読み取り専用推奨」だと思いますがそれはさておき。


#「読み取り専用」なら選択出ません

http://msdn.microsoft.com/ja-jp/library/microsof …
にあるとおりOpenメソッドでReadOnlyパラメータをFalseに設定してやればいいような。

ついでに、このダイアログを出さないだけならApplication.DisplayAlertsではなくWorkbooks.OpenでIgnoreReadOnlyRecommendedをTrueにすればよさそうです。
    • good
    • 0
この回答へのお礼

Workbooks.Open ○○○.xls, IgnoreReadOnlyRecommended:=True
だけで、無事に通常モードで開くことができました。

あとは、ブック共有になっているので、これを解除できれば、処理を進めることができます。

どうもご回答ありがとうございました!

お礼日時:2008/10/15 17:22

Application.DisplayAlerts 使わない場合は、コードで任意の処理をする事になります。



1.処理の前にチェック
2.エラートラップを使って、任意のエラー対策を行う。
という方法になります。

1は、保存ファイル名の重複(同一ファイル名)の事前チェック等。
2は、on error goto 等でエラー番号をチェックして任意の処理。

具体的な処理内容が不明なので、一般的な回答になります。

この回答への補足

ご回答ありがとうございます。
ただ、回答の意味が良くわかりませんでした。


補足しますと・・・

XXXXXXXXの処理部分を含めると、現在、以下のようなコードになっています。

Application.DisplayAlerts = False
Workbooks.Open ○○○.xls
Application.DisplayAlerts = True

○○○.xlsに読み取り専用がかけられているため、
Application.DisplayAlerts を使わずに実行すると、
以下のメッセージダイアログが出ます。
---
'○○○.xls'を変更し、保存する必要がなければ、読み取り専用で開いてください。読み取り専用で開きますか?
[はい(Y)] [いいえ(N)] [キャンセル]
---

メッセージダイアログを出さないように、Application.DisplayAlerts を指定して動作させると、
[はい(Y)]ボタンにデフォルトフォーカスされているためか、読み取り専用で開いてしまいます。

これを、メッセージダイアログを出さずに、[いいえ(N)]ボタンを押したときと同じ状態で、
つまり、読み取り専用ではなく開きたいのです。

補足日時:2008/10/15 16:11
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!