私はEXCELマクロをしっかり活用しており、その代表的なものがトレード練習ソフト「バーチャルトレード」です。
Virtual Trade 4.1
このプログラムがある日突然、遅くなったのです!
正確には、どの日から、という起点の日は判らず、ある頃以降にいつの間にか、ですが。
そして、このプログラムに付随して、最新のチャートCSVデータを読み込んで自動計算するマクロも遅くなってしまいました。具体的には、10秒くらいで完了していた処理が数分かかるようになったのです。
そこで、ネットであれこれ関連記事を検索して原因を調べたのですが、、
マクロを早くするような記事はでてくるものの、全然解決できず・・・
簡易プログラムを作成して時間を計測できるようにしたところ、
そのマクロを走らせると、最初は2秒、次3秒、次4秒、と徐々に処理時間が増える。
そのマクロを1度でも走らせると、ファイルを閉じるときに時間がかかるようになる。
といった現象がありました。
そのキーワードで「メモリ解放」などを探索するも、効果無し。
改めて症状を観察すると、タスクマネージャーでメモリ使用量を観察すると、マクロを動かすたびにメモリ使用量が増えていく。そこで「メモリ使用量の蓄積現象」で検索すると、類似の症状に回答したQ&Aを発見。
そこに書かれていた手順で解決したのです!
具体的な対策手順は・・・
EXCELメニューの
ファイル→オプション→トラストセンター→トラストセンターの設定→
信頼できる場所→新しい場所の追加(A)→
参照→自作マクロのあるフォルダを選択→OK
これで解決したのです。
何それ?って感じですが!
なお、CSVを読み込むプログラムは、そのEXCELファイルのある場所だけでなく、読み込む先のフォルダも同様に「信頼できる場所」に追加しないとダメです。
対策はできました。
おかしくなった原因は特定できませんが、バージョンアップなどでこのへんの情報が初期化されてしまった、というのが想像できることでしょうか。
私の備忘録で投稿しましたが、
似たような不具合で困っている人の参考になることがあれば幸いです。