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

お世話になります。

Access2016で作成しています。

あるボタンを押したら、VBAでA.xls(エクセルファイル)を起動し、A.xls(エクセルファイル)に対して処理を行っています。

そこで、
希望1:VBAを実行中は、エクセル操作ができないようにしたい。
    ※VBAで起動・処理するA.xls(エクセルファイル)以外に、別のエクセルが起動している
     可能性があります。その際、Aや別のエクセルの操作ができないようにしたいのです。

希望2:VBA実行中は、パソコンの操作ができないようにしたい。
    エクセルを触らせない目的ですが、他のアプリケーションも含めて、VBA処理が終わるまで、
    操作できないようにしたいのです。
    ※できれば、VBAの実行キャンセルくらいはできるようにしたいですが。。。

VBAにどのようなソースを入れればよいでしょうか?
何卒よろしくお願いいたします。

A 回答 (3件)

実行中だけ下記プロパティを True にしておけばよろしいかと。


_Application.IgnoreRemoteRequests Property
VBAで起動するエクセルは非表示にしておくのがいいでしょう。
それにしても、他アプリケーションからのエクセル実行は、やたら遅いですよ。
    • good
    • 0

こんにちは



>VBA実行中は、パソコンの操作ができないようにしたい。
質問者様だけが利用するものを作っているのではないと想像しますが、ここまでやると業務妨害ソフトのレッテルを貼られたり、あるいは、ウィルスソフトの疑いをかけられかねないと思いますが・・・

対象となっているA.xlsだけであれば、その内容は管理下にあるものと思いますので、一時的にシートの保護やブックの保護をかけることで、操作を受け付けない状態にすることが可能だと思います。
    • good
    • 1
この回答へのお礼

VBAで答える技術がないなら、答えないでください。

お礼日時:2018/04/27 10:10

エクセルの処理に時間がかかっているのが問題なのではないですか。


アクセスVBAでエクセルを処理すると1ステップ毎に処理がアクセスとエクセルを行ったり来たりしますので、非常に時間がかかります。エクセルの処理は、エクセル側で実行すれば速くなるのでは。
    • good
    • 0
この回答へのお礼

申し訳ございません。

希望1 or 希望2にお答えいただけると本当にたすかります。

もし、ご存知でしたらよろしくお願いいたします。

お礼日時:2018/04/26 14:47

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A