質問: excel2010 personal.xlsbの挙動について excel2010や2013で、excelファイルをダブルクリックして開くと「personal.xlsbは編集のためロックされています」のメッセージがたまに出るのは、なぜなのでしょうか?また逆に、personal.xlsbに仕込んでおいたマクロを使いたいのに、excelファイルを開いた時にpersonal.xlsbが自動起動してくれていないこともあります。これらの現象が、起きたり起きなかったりで、規則性も掴めず、なんかちょっと困ります。どうしたら、personal.xlsbが使用中とのメッセージを出されず、かつ毎回自動起動させられるのでしょうか。 念のためですが、この質問は「personal.xlsbとは何ですか?」という質問ではありません。私はpersonal.xlsbについては知っていて、personal.xlsbの中に自作マクロを沢山書いて使っています。だからこそ、スムーズにpersonal.xlsbを使いたいということです。
回答: absolute_spaceさん、こんにちは。 >「personal.xlsbとは何ですか?」という質問ではありません。 >私はpersonal.xlsbについては知っていて、personal.xlsbの中に自作マクロを沢山書いて使っています。 ちょっと、そういう前置きをされてしまうと、ベテランの方なのでしょうか、私の出る幕ではないかもしれません。 「personal.xlsbは編集のためロックされています」 これは、excelが二重起動しているからです。もう片方を閉じれば、問題は解消されます。 二重起動を防ぐ方法もあるでしょうけれども、元の片方は動いています。当然、標準モジュールは、ブックがオートメーション化した場合など、もう片方のexcel の標準モジュール側は呼びだされません。 >excelファイルを開いた時にpersonal.xlsbが自動起動してくれていないこともあります。 これ自体は、上記の問題との兼ね合いだとは思いますが、通常は、標準モジュールの自動起動は、auto_open に書くものです。thisworkbook側には入れません。 比較的に小さなマクロ・ユーティリティを登録して置くことが多いのです。大きなマクロや数多くある場合は、別途アドインにしてあげます。その代わり、personal.xlsbは、クラス側から、application に対してインスタンスを作ったり、マクロ型のショートカットを登録したりしますが、あまり、personal.xlsbには、マクロなどは入れすぎないことです。起動が遅くなったり、不明のトラブルの原因で起動できなくなったりすることがあります。 ご存知のことでしたら、どうぞ、お見捨てください。