以前に開いているブックに対してのADO.Connection.Openの処理が遅くなる事象を紹介しました。
2025年10月7日時点でこの事象が解消されているようなので簡単にご紹介いたします
遅延問題
この問題が発生した時に下記の記事で事象と対応方法についてご紹介しました。
www.excellovers.com
この問題は遅くとも2025年4月16日には発生していました。
症状としては開いているブックに対してADO.Connection.Openを実行すると12秒ほど時間がかるというものです。
この事象は当然ながらマクロが記載されている自ブックに対しても影響があったため、ADOを使ったSQL処理全般が遅延するという個人的には影響が大きいものでした。
問題解消
仕事でほぼ毎日この機能を使用したマクロを利用しているので、早く直らんかなぁと思うこと約半年。
2025年10月7日にいつものようにマクロをポチって(時間かかるから)目を離そうとした瞬間にマクロの実行が終了しました。
思わず「えっ!?」と唸ってしまいました。
もう一度実行してもやはり一瞬で終わりました。
仕事中はツイはしないというルールにしているにも関わらず、思わず呟かずにはいられませんでした。
今年の4月から遅くなってた開いているブックに対してのADO処理、元通り速くなってない!?
— Kou Excelが大好きだ! (@LoverExcel) 2025年10月7日
Dim myCon As ADODB.Connection Set myCon = New ADODB.Connection Dim myRS As ADODB.Recordset Set myRS = New ADODB.Recordset Dim mySQL As String myCon.Provider = "Microsoft.ACE.OLEDB.16.0" myCon.Properties("Extended Properties") = _ "Excel 12.0;HDR=YES;IMEX=1" myCon.Open ThisWorkbook.FullName ⇐ ここの処理が遅かった
前回と同じような上記のコードを実測したところ0.01秒ほどで処理が完了しました。
対応策としてご紹介したIMEX=1を外しても同様の処理時間です。
対象のデータ量を増やしてもOpenの処理自体は同様に0.01秒ほどで完了しますので、Openが遅くなるという事象に関しては完全に治ったのではないでしょうか。
まとめ
半年間も放置されてMicrosoftさんは直す気ないんやと若干ふて腐れておりましたが、直してくれて感無量です。
ありがとう、Microsoft!