• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:★VBA実行時に警告表示を無効にしたい)

VBA実行時に警告表示を無効にする方法

このQ&Aのポイント
  • OutlookでVBAを使用してメールを受信した際に、プログラムがアドレス帳を含む可能性のあるデータにアクセスしようとしていることを示すダイアログが表示されます。
  • 現在の設定では、ダイアログを無効にすることはできません。
  • ダイアログを出さないようにするには、他の方法を探す必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • VT250F
  • ベストアンサー率30% (26/84)
回答No.1

プロパティが用意されてなければしょうがないですね。 しょうもない技ですが、 ダイアログが出るまで数秒スリープ   (SleepというAPI関数を利用) ダイアログのタイトルを取得する   (やはりAPI関数) タイトルが取得できるまでタイマーで待って、 そのダイアログに SendKeys するぐらいですかね。 API 関数とはOSに呼びかける外部関数です。 SendKeys はうまくできない場合があるので、 あまりきれいな手法ではないですね。 あと、レジストリか何かで、確認ダイアログを出さない方法があるかもしれません。

miyaxyz2002
質問者

お礼

返答が遅くなってすみません。 なかなかうまくいかないので、返答ができませんでした。もう少し自分でもがんばってみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • マクロ実行中に警告やメッセージを表示しなくない。

    Excel2007を使用しています。 マクロ実行中に警告やメッセージを表示しなくないと思っております。 インターネットで調べましたところ、 マクロでは、 Application.DisplayAlerts = False と書けば良いと書かれておりまして、 実行したところメッセージが表示されなくなりました。 同じようなことをマクロを使用しなくても設定できると思い、 調べてみたのですが、うまく見つけれられませんでした。 どこで設定したら良いのでしょうか? もし宜しければ、教えて頂けませんか? 宜しくお願い致します。

  • VBAでEXCELのワークシートを削除時に警告メッセージをでないようにしたい。

    ACCESSのVBAでEXCELのワークシートを削除時に警告メッセージをでないようにしたいのですが、 ネットを参考に下記のようにしたのですが、  Application.DisplayAlerts = False  ActiveSheet.Delete  Application.DisplayAlerts = True DisplayAlertsが反転してメソッドまたはデータメンバが見つかりません。とエラーメッセージがでます。 ご存知の方宜しくお願いします。

  • エクセルのVBAで指定フォルダにアクセスしてくれません。

    下記のような流れでVBAを作成したところ、xls形式でダイアログを指定する際に指定のフォルダにアクセスしてくれません。記述がおかしいのでしょうか。教えてください。 '**************************************** 'ダイアログ表示(csv形式) Dim MyFileA As String MyFileA = "c:\test\bonaplus" & Format(Date, "yyyymmdd") Sheets("test").Copy Application.DisplayAlerts = False 'arg2:=6(csvファイル形式) Application.Dialogs(xlDialogSaveAs).Show arg1:=MyFileA, arg2:=6 ActiveWindow.Close Application.DisplayAlerts = True 'ダイアログ表示(xls形式) Sheets("data").Select Range("A1").Select Dim MyFileB As String MyFileB = "c:\test\bonaplus" & Format(Date, "yyyymmdd") Application.DisplayAlerts = False 'arg2:=1(xlsファイル形式) Application.Dialogs(xlDialogSaveAs).Show arg1:=MyFileB, arg2:=1 'ActiveWindow.Close Sheets("data").Select Range("A1").Select MsgBox "c:\testにファイルが作成されました。" ThisWorkbook.Close Application.DisplayAlerts = True '**************************************** *************マクロの説明始***************** 指定フォルダにcsv形式でダイアログを表示させる 指定フォルダにxls形式でダイアログを表示させる エクセルを閉じる *************マクロの説明終*****************

  • VBAでマクロ付きファイルを開く場合

    こんにちは。 VBA初心者です。 VBA(Workbooks.Open Filename)を使ってマクロ付エクセルファイルを開こうとしたのですが、単体で開く時と違い「マクロを有効にするか無効にするか?」ダイアログが表示されません。 マクロを有効にしてファイルを開きたいのですが、これはダイアログが表示されていないだけで自動的に「マクロを有効」となってファイルが開いているのでしょうか?そうではない場合このダイアログを表示させるにはどうしたら良いでしょうか? 判りつらい説明で申し訳ありませんが、教えて下さい。

  • (VBA)ブックを閉じるプログラム

    表題の通りで、マクロを使ってブックを閉じるプログラムが作りたいです。 具体的には、 "終了"というボタンを作って、このボタンを押したときのみ変更を保存せずに、ブックを閉じる。 右上のXマークを押して閉じようとした場合は、"終了ボタンで終了して下さい"とメッセージを 表示させて、必ず終了ボタンで閉じる。 のようなプログラムです。 ネットで調べ、みよう見まねでプログラムを組んでみましたが、完全にブックが消えません。 また×ボタンを押した場合にブックを閉じない様にするプログラムが分かりません。 <組んでみたプログラム> Sub test2() Application.DisplayAlerts = False Workbooks("Book1.xls").Close Application.DisplayAlerts = True End Sub ご教授お願い致します。

  • VBAでマクロ実行中はExcelのマウスやキーボードを使ってセル選択などを無効にしたい

    お世話になります。 VBAで作成しております。 VBAでマクロ実行中は、Excelのマウスやキーボードを使ってセル選択などを無効にしたいのですが、どのようにすればよいでしょうか? ※Application.ScreenUpdatingはただ、画面の更新は止まっているのですが、セル選択などは裏で実行されているみたいで。。。 以上よろしくお願いします。

  • 印刷ダイアログを表示させない方法

    いつもお世話になっております。 ExcelのVBAで印刷ダイアログを表示させないようにするにはどのようなプロパティを設定すればよいでしょうか。 以下のようなコードを作成しました。 Sub ファイルの印刷() Dim trgFolder As String Dim buf As String Dim sht As Worksheet Application.ScreenUpdating = False Application.DisplayAlerts = False trgFolder = _ "C:\Documents and Settings\Name\My Documents\ファイル\" buf = Dir(trgFolder & "*.xls") Do While buf <> "" Workbooks.Open trgFolder & buf For Each sh In Worksheets With ActiveSheet .PageSetup.Zoom = 80 .PrintOut End With Next Workbooks(buf).Close buf = Dir() Loop Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub "ファイル"フォルダの各Excelファイルのすべてのシートを印刷するためのマクロです。 よろしくお願いします。

  • VBAでESCキーを無効にしたいのですが、うまくいきません。

    EXCEL VBA でESCキーを無効にするために、 Application.EnableCancelKey = xlDisabled を使用していますが、 特定のフォルダ内のEXCELファイルを開いて、ある処理をして保存するといったプログラムでは、ESCキーを無効にすることができませんでした。 原因を探るために以下のテストプログラムを作成しましたが、実行中にESCキーを押すと(長押しすると確実に) 「実行時エラー'1004' openメソッドは失敗しました。'Workbooks'オブジェクト」 のメッセージが表示されて止まってしまいます。 どこに原因があるのでしょうか? よろしくお願いします。 以下、テストプログラム ////////// Private Sub CbStart_Click() Dim Fname As String Dim Fpath As String Application.ScreenUpdating = False Application.EnableCancelKey = xlDisabled Fpath = "d:\work\" Fname = Dir(Fpath & "*.xlsx") Do While Fname <> "" Workbooks.Open Fpath & Fname CloseWorkbook Fname Fname = Dir() Loop Application.ScreenUpdating = True End Sub 以上 //////////////////

  • VBAで書き込みパスワードを解除して開く

    VBAでの作成経験が浅くわからないので、教えてください。 Excel2010のVBAを作成しております。 VBAで”ファイルを開く”ダイアログを表示し、ユーザが指定したファイルのパスワードの保護をマクロの中で解除してファイルを開きたいと思い作成しました。 myMB = Application.Dialogs(xlDialogOpen).Show(arg6:=myPassword) If myMB = False Then Exit Sub End If   ※myPasswordはユーザが開くファイルに使用するパスワード この方法ですと、パスワードを入れるダイアログが表示されてしまいます。 どうしたら、パスワードをユーザが入力することなく、マクロを実行することが できるのでしょうか?

  • Excel VBAでのシートの削除について

    Excel VBAで、シート上に配置されたボタンをクリックすることで、メッセージを出さずにそのシートの削除をしたいと思っています。 サンプルとして、シート上(例えばSheet1)にボタンを1個配置し、 ------------------------------------------------------- Private Sub CommandButton1_Click() Application.DisplayAlerts = False Delete Application.DisplayAlerts = True End Sub ------------------------------------------------------- のようにすると、オートメーションエラーが起きます。 そこで、 Application.DisplayAlerts = True をコメントアウトしてやれば実行はできるのですが、その後別のシートで処理を行う場合には、再度メッセージを表示してほしいと思っています。 ためしに、Sheet1削除後にアクティブになるSheet2に次のようなコードを記述しました。Sheet1同様、シート上にボタンを1個配置しています。 ------------------------------------------------------- Private Sub CommandButton1_Click() MsgBox Application.DisplayAlerts End Sub Private Sub Worksheet_Activate() MsgBox "次に出るメッセージはアクティブ直後のDisplayAlerts設定。" MsgBox Application.DisplayAlerts Application.DisplayAlerts = True MsgBox "次に出るメッセージは変更後のDisplayAlerts設定。" MsgBox Application.DisplayAlerts End Sub ------------------------------------------------------- こうすれば、Sheet1削除後、アクティブになった直後はDisplayAlertsがFalse。その後設定変更してTrueになるかとおもったのですが、結果はFalseでした。しかしその後、ボタンをクリックするとTrueが返ってきました。 いろいろ調べましたが、なぜこのような結果になるのかわかりません。よろしくお願いいたします。