Excelファイルを開くたびに「XLQUERY.XLA」が見つからないと言ってくる件

古より伝わる、それはそれは伝統あるExcelファイルで、定例の処理を行っています。
ファイルを開くたびに、XLQUERY.xlaがないからどうしたこうしたと、Excelさんが言ってきます。ポップアップメッセージが出て、「いいえ」を選ばないとファイルを開けないのです。
「XLQUERY.XLA!Register.DClick」だとかなんだとか。。

どう見ても、そんなファイルやらマクロやらは使っていないのです。。
毎度毎度、同じ操作は手間です!
いい加減何とかしたいと思って調べたのですが、なんともいい答えにたどり着けず。。

やっと見つけた方法で対処できたので、備忘録というか記録を残しておきます。
なお、今回の主な確認環境はExcel 2010です。2007と2013でも同じ現象が起こっていました。(その後の解決確認もできました。)

スポンサーリンク


原因が分からない。。

アドイン関連のメッセージのように見えるのですが、設定を全部外しているのにいつまでも出続けます。
新しいブックにシートを移してもついてきてしまいます。

当該アドインがサポート外になっていることはオフィシャルページで分かりました。
でも、これといった解決策は見つけられず、完全お手上げ状態でした。

結局、根本原因は不明のままですが、なんとか解決にはこぎつけました。以下の掲示板に記載してあったコードのおかげです。

XLQUERY.XLA!Register.DClick Problrm
Everytime I open a file that has a database query set up, I get this message: Cannot find XLQUERY.XLA!Register.DClick, which has been assigned to run each ti...

ゴミが残ってしまっているということなのだと思います。。

実際に動かしたコード

以下のコードをそのまま標準モジュールに貼り付けて実行しました。
なくなると嫌なのでここにも書いておきます。元祖は既述のリンク先です。

コードを流す場合は、念のため現行ファイルのバックアップを取っておいてください。実行は自己責任でお願いします。

Sub DeleteQueryDefinedNames()
    Dim n As Name
    For Each n In ActiveWorkbook.Names
        If n.Visible = False And InStr(1, n.Name, "QUERY", _
            vbTextCompare) > 0 And InStr(1, n.Name, _
                "Query_from", vbTextCompare) = 0 Then
            n.Delete
        End If
    Next
End Sub

「QUERY」という文字列を含む名前を削除したようです。

実行したらファイルを保存して、開きなおしたらメッセージは出なくなりました。
よかったです!
めでたしめでたし。

スポンサーリンク


この投稿を書いたのは・・・
Blog Master

ガジェットが大好きで、ほぼ毎月何かしら調達しております。
無駄遣い扱いされたくないのと、何かの役に立つかと思い、記録を書くことにしたのでした。

お出かけのときには、スマホを複数台とタブレットとパソコンを持ち歩きます。
両手首にはスマートウォッチです。
こんなスタイルで生活している中での備忘録を書いています。

「Blog Master」をフォローしてみる
Excel関連
「Blog Master」をフォローしてみる
wnkhs.net

コメント

タイトルとURLをコピーしました