13:13_Excel2016異常処理時の回避操作について(つづき

ネット検索すると、似ているような現象はあるようで、その対策とか示されているものはあるが、単にUPDATEとか修復とか決まりきったことを並べているに過ぎないように思う。
一度なんか、その修復を試みたら、結局再インストールがされたようで、ライセンス認証が切れてしまい、中古購入パソコンのため再認証するにも昔の情報がわからずに使えなくなってしまったこともある。
結局はそんなことしても何にもならなかったりする。
単純なものではなく、ソフトの環境や、機能の適用状況によって、つまりは処理の何らかの状況によって例外的にまれに起きるものであるような、つまりはかなり難度の高いバグのようなものと思われる。

単純な対策ではなく、実際の動きをじっくり解析するとかでないと原因と対策は不可能に近いものではないかと。

そんな中、苦し紛れに回復できないかとしながら、体得したようなことをノウハウとして運用するしかないかとここにその得たものを記しておこうとするものである。


まず、断っておくが、これはあくまでも、自分の場合の、ある特定のブックでのVBAマクロ起動における問題と対処である。
疑ったのは、VBA処理のどこかでループ処理に陥っているのではないか。
それで何とかVBAを中断できないものかと試みたこと。
ESCでは効かないし、変に×とかで閉じようとしたりすると、プロセス強制終了と同じように、EXCELが異常終了となってしまう。
すると、前にも書いてように、それまでの変更作業が未反映のまま消滅してしまうことになる。
それを何とか避けようと、VBAを一時停止にして状況を確認しようとするのである。

あるときは、たまたまその前にVBAウィンドウを開いていたことがあり、タスクバーからそのウィンドウに切り替えることは出来たのである。
切り替わったように見えても、何か頼りない感じで、何かするとアクティブなウィンドウが何かわからないような、本当に幽霊のように頼りない見え方なのである。
ここであまり器用なことは出来ない。すぐにフォーカスがなくなってしまうようなものだから。
だから、「中断ボタン」を押すこと、である。
それでうまくいけば、実行中のVBAが中断になり実行中の場所が黄色で示される。
(だが、ここで喜んで、ステップ実行F8とかをやりたくなるのだが、すると、また状況不明に陥ってしまう、のような感じ)
それで後はその状況を見るだけにしておいて、次にVBAマクロ実行を停止させる。
そして再開のための整えをしてから実行再開する。
⇒これで何とかなる。

次に、VBAウィンドウが開かれていないときの実行において同じ状態になったときの対応である。
タスクバーからEXCELを選んで、完全ではなくてもEXCELが再前面にアクティブになっていそうであることが認められる状態において、「ALT+F11」を押して、少し様子を見てみる。
うまくいけばそのうちにVBAウィンドウが開かれて、上部の少しぐらいが表示されてくることが期待される。
そうなればその上部辺りにはマクロ実行の中断やら停止やらのアイコンが認められることになれば、とにかく中断をクリックして、そしてまた様子をみる。
うまくいけばマクロ実行が停止して、その停止場所が黄色で示されるようになるので、前のケースと同じように停止したりを行っていく。

またその他にも、今時は古い操作になったように思うが、Ctrl+ALT+Deleteを押して、メニューを表示させ、そこからタスクマネージャの起動を指示すると(すでに起動してあった場合でもこの操作で構わない)、まずタスクマネージャが表示されるが、徐々に他のウィンドウも表示されてきて、このときに問題のEXCELが表示されるときに、うまくいけば、そのときのVBAマクロの処理が、ループようで滞っての状態ではなく、処理が実行が進んでいることになっているかも。


※最後の話はつい本日に確認した方法である。
これで回復できるなら、まあ、一番余計なものの少ない方法かと思う。
この手の異常は、Excelが何らかの準備か監視をすることで、抜けることができなくなっているようなことかも知れない。これが何らかのことできっかけで抜け出ることが出来ることなのかも知れない。



本質の対策にはなってないけど、無駄な余計なことをするよりは、こんなことで解消し通過できるならひとつのノウハウとしていくのいいかと思った。自分だけのものではあるが、また他のときにも役立つかも知れないノウハウだろう。
根本的なことでは、VBAプログラムを整理すればいいのだろう。
もう昔からのしがらみを引きずっている状態なので、プログラムの構成やら手続きやら、やはり新しい環境には難しいものがあるのかと思う。
でも作り直しも難しいし、今では歳でもあり、自分で作ったものでも今となっては部分改修も面倒な状態になっていること、記憶の問題もさることながら、かなり複雑化してきてしまっていることである。
何とか使えるものはそれなりのやり方で修復しながらとかで使っていくしかない。
仕事としてではないから、その作業負担に応じた報酬があるものでもないから。だが、その修復作業は実務と同じように難しい作業ではあるのだ。
これもひとつのデジタル遺産と言えるだろう。

13:51