
Application.DisplayAlerts = False
XXXXXXXX
Application.DisplayAlerts = True
で、確認画面を出さずにXXXXXXXXの処理をすることができますが、
その確認画面に、いくつかの選択ボタンがある場合、
確認画面を出さずに、かつ、任意のボタンを押した状態で処理を進めさせるには、どのようにすればよいのでしょうか?
そのまま Application.DisplayAlerts を使うと、確認画面は出ないものの
デフォルトのボタン(フォーカスがあるボタン)が押された状態で、
処理が進められてしまうようです。
Application.DisplayAlerts を使わない別な方法でもかまいません。
ご存知の方、ご教授いただけると幸いです。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
開くときに確認ダイアログが出るのは「読み取り専用」ではなく「読み取り専用推奨」だと思いますがそれはさておき。
#「読み取り専用」なら選択出ません
http://msdn.microsoft.com/ja-jp/library/microsof …
にあるとおりOpenメソッドでReadOnlyパラメータをFalseに設定してやればいいような。
ついでに、このダイアログを出さないだけならApplication.DisplayAlertsではなくWorkbooks.OpenでIgnoreReadOnlyRecommendedをTrueにすればよさそうです。
Workbooks.Open ○○○.xls, IgnoreReadOnlyRecommended:=True
だけで、無事に通常モードで開くことができました。
あとは、ブック共有になっているので、これを解除できれば、処理を進めることができます。
どうもご回答ありがとうございました!
No.1
- 回答日時:
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)]ボタンを押したときと同じ状態で、
つまり、読み取り専用ではなく開きたいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
InvalidateRectがうまくいかない
-
ASP VBScriptでスクリプト実行...
-
Macターミナルで実行中のプログ...
-
powershell を使いカレントディ...
-
.NetのBackgroundWorkerクラス...
-
家電製品の電力周波数を変える機械
-
if ( a & b == b )
-
アプリケーションが終了するま...
-
C言語プログラミングで、多項式...
-
C#で通信処理。応答がない場合...
-
実行時のコマンドプロンプトを...
-
マルチスレッドのスレッド数を...
-
PIC mainループについて
-
VBA:CSVファイルの読出し手法...
-
bmp → jpeg への変換
-
.sb3のファイルを.sb2に変換す...
-
常駐するアプリケーションを初...
-
スレッドがサスペンドされてい...
-
スレッドの終了を知りたい(Wind...
-
マンセル⇔XYZ,RGB変換式或いは...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの処理中一旦処理を止めて再...
-
メッセージボックスのボタン名変更
-
ACCESS側からEXCELの書式を設定...
-
VBSで応答不要のメッセージボッ...
-
PostMessageの連続送信
-
エクセルVBAでクリップボード内...
-
VBA、UserFormを前面に出力して...
-
ファンクションキーのキャンセ...
-
Application.ScreenUpdating=Fa...
-
【MFC】イベントの無効化について
-
VBA kernel32 の意味
-
マウスのクリックを無視したい
-
ループを使わずに、特定時間に...
-
Excel VBA 自動的に閉じるMsgBox
-
「キャンセル」ボタン付きの処...
-
シャットダウン時のExcel強制終...
-
OSシャットダウン時の常駐アプ...
-
VB.NETで数秒間msgboxの...
-
VB6 コマンドボタン クリック...
-
Excel VBA 実行中に一瞬フリー...
おすすめ情報