![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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も見ています
-
あるあるbotに投稿したけど採用されなかったあるある募集
あるあるbotに投稿したけど採用されなかったあるあるをこちらに投稿してください
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
ExcelのVBAでDisplayalertsで警告メッセージが非表示にできない
Excel(エクセル)
-
-
4
Range(A1")⇔cells(1,1)の変換。"
Excel(エクセル)
-
5
Excelにて、ユーザーフォームで、日付けの範囲を指定し、検索しデーターを抽出し 別シートへ転記した
Excel(エクセル)
-
6
エクセルのVBA 特定のセルでエンターキーでマクロ実行
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスのボタン名変更
-
VBSの処理中一旦処理を止めて再...
-
InvalidateRectがうまくいかない
-
マルチスレッドを実現したい
-
C#で処理中画面を表示したい。
-
VBA、UserFormを前面に出力して...
-
エクセルVBAでクリップボード内...
-
ACCESS側からEXCELの書式を設定...
-
VBA kernel32 の意味
-
VBSで応答不要のメッセージボッ...
-
VBA:IEでサイトを巡回し、デー...
-
Application.ScreenUpdating=Fa...
-
起動後直に実行するコードはど...
-
終了処理について
-
access 確認メッセージのはい/...
-
B列に特定の文字列が入っている...
-
イベントハンドラ処理が終了し...
-
beforecloseの中からの抜け出し方
-
MFCのワーカースレッドとUIスレ...
-
VBA メッセージボックスを自動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの処理中一旦処理を止めて再...
-
メッセージボックスのボタン名変更
-
ACCESS側からEXCELの書式を設定...
-
VBA メッセージボックスを自動...
-
VBA kernel32 の意味
-
Application.ScreenUpdating=Fa...
-
VBA、UserFormを前面に出力して...
-
Excel VBA で処理中断(DoEvents...
-
エクセルVBAでクリップボード内...
-
VBSで応答不要のメッセージボッ...
-
Excel VBA 自動的に閉じるMsgBox
-
VCでウエイトをミリ秒でかけ...
-
キーボード入力、マウス操作を...
-
C#で処理中画面を表示したい。
-
【C#】 あるイベントから別イ...
-
マウスのクリックを無視したい
-
【MFC】イベントの無効化について
-
Excelのワークシートに行を挿入...
-
アクセスでのキー送信について
-
シャットダウン時のExcel強制終...
おすすめ情報