質問: vbaを一度起動するとずっと出てきます。 お世話になります。 表題の件で 質問が御座います。 一度 vbaを起動すると 閉じても また勝手にvbeの画面が立ち上がってきます。 厳密に言うと「勝手に」では ないのですが「ログオフ後、再度ログイン」するとそうなります。 (上記の表現が適切かどうか分かりませんが、会社では「ctrl」+「alt」+「delete」でロックを掛けて離席します) そして席に戻り 再度「ctrl」+「alt」+「delete」でロックを解除すると 閉じたはずのvbeの画面が立ち上がってきます。 これは 普通なのでしょうか? 通常「alt」+「f11」でvbaを起動していますので必要であればまた同じ操作で起動すれば済みます。 必要ない時にも立ち上がってくる この現象を何とかしたいです。 特に困っているというワケではないのですが「なんでだろう?」という疑問もあり、ついでに何とかなればと思い質問致しました。 上記のような状況で再度起動しないようにするには どこか設定を変更すれば良いのでしょうか? お分かりになる方、どうぞ宜しくお願い致します。
回答: こんにちは。 事情は分かりました。 こちらも、事情は違いますが、試行錯誤しています。 >もし よろしければ >>私などは、通常はいたずらに開かないように、vbeditor は、プロテクトをしています。 >この辺について再度ご教示いただけませんでしょうか。 alt + f11 --> プロジェクト・ウィンドウ -->vbaproject --> 右クリック vbaprojectのプロパティ -->保護(タブ)をクリック プロジェクトを表示用にロックする(v) をチェック パスワードを入れるなら、簡単なものを入れます。 複雑なものは入れません。 保存して、再度ファイルを開ければ、vbaプロジェクト自体は開きません。 しかし、今のようなご使用方法の場合は、この方法は上手く行くという保証はありません。 たぶん、今回の根本的な原因は「自動保存」が生きているからだと思います。 それと、vba側のapplication.ontime は忘れてください。両方併用したら、マクロ側にトラブルが発生することがありますから、しばらく、そのような使い方をしていれば気が付くはずです。 >通常 すっと同じexcelファイルを1日中使用しているのでずっと開きっぱなしです。。 「自動保存」を使いっぱなしで、トラブルはないから使っているのですね。 私は、かなり長い期間、何度もやってみて、excel 2003 でも、「自動保存」の問題があるので、ついに継続使用するのは断念しました。「2003 でも」というのは、それ以前のバージョンでは、トラブルがあったからです。マクロの内容によっては、「自動保存」は、問題があります。 私は、「自動保存」をやめて、入力の回数(calculation)によって保存するというマクロを使ってみたりしました。また、シートを切り替えるときに、保存する方法とかいうマクロも作ってみましたが、長期に続きませんでした。データ量が多すぎて、保存に時間が多すぎるから、その待ち時間がうっとうしいのです。(興味があればお教えします) 席を離れる前に、ついでに保存すれば、ベストですよね。ついでに、画面を最小化しておくとかすればよいです。どこかにコマンドボタンを置いて、以下のようなマクロを入れればよいのですが......。 一例です。 'ログオフ sub test1() if thisworkbook.saved = false then thisworkbook.save end if application.windowstate = xlminimized 'window を最小化 application.autorecover.enabled = false '自動保存をオフにする end sub '再度、ログオン sub test2() application.windowstate = xlnormal 'window を元に戻す application.autorecover.enabled = true '自動保存をオンにする end sub 少しずつ、試してみてください。