つづき
4.試してみて効果がなかった対策
(1)クリップボード
バタイユゲーム支援ツール強化版で10回目の処理を終了したあとで、
EXCEL画面からクリップボードを開いたら空であった。
従って、クリップボードは関係していない。
(2)メモリの解放
Microsoftのメモリ解放ツールempty.exeを使ったが、効果がない。
下図の5回目と9回目の前に使い、メモリ容量は減ったが処理時間は遅いままである。
1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 6回目 | 7回目 | 8回目 | 9回目 | 10回目 | |
VBA処理時間(sec) | 5.14 | 5.38 | 5.71 | 5.77 | 6.05 | 6.19 | 6.47 | 6.54 | 6.72 | 6.91 |
Python処理時間(sec) | 2.95 | 3.1 | 2.63 | 2.17 | 2.81 | 2.87 | 2.33 | 1.8 | 3.09 | 3.16 |
4回目の処理終了後のEXCELメモリ容量62.7MB
5回目を始める前のEXCELメモリ容量32.2MBと30MB減少した。
5.参考資料
下記のWEBページにお世話になりました。ありがとうございます。
・マクロの処理がだんだん遅くなり、しまいには止まります。
・解決!Windows10でエクセルマクロの処理が遅い
・【Excel VBA】クリップボードをすべてクリアする方法
・【ExcelVBA】メモリーの解放方法・タイミングについて徹底解説!
・【2021年版】爆速!Microsoft純正の最強メモリ解放ツール「empty.exe」
・マクロ処理でブックのオープン、クローズを繰り返すと、メモリが解放されず、処理が徐々に遅延する。
<個人的な感想>
同じような悩みを抱えている人が多いが、決定的な対策は見当たらない。
VBAの後処理(メモリ解放など)がきちんとなされていないと思われる。
余計な機能をつけるよりも基本的な機能が正常に処理できるように
改修してもらいたいが・・・。
それより目先を変えて新機能でお金を儲ける方に集中しているように見える。