次の方法で共有

querytableでWebクエリが無効ですエラー

Anonymous
2012-09-25T08:51:13+00:00

OS:Windows7

物理メモリー:1GB

の環境にて、Excel2010を使用し、querytablesでWeb上のHTMLファイル

をシートに取り込む処理を作成しています。

ファイルサイズが小さいうちは正常に処理されるのですが、

ファイルサイズが500Mbyteを超えると

「実行時エラー1004:Webクエリが無効です」

というエラーが発生してしまいます。

エラーが発生する箇所は

.Refresh BackgroundQuery:=false

となっています。

いろいろ調べるとインターネット一時ファイルの容量オーバーが起こるとエラーになる

というのを見つけましたが一時ファイルの最大サイズが1GBとなるとそれ以下のサイズ

なので別に理由があるのか?・・・とも思います。

以上の事から質問は、

querytablesには何かしら処理できる制限があるのでしょうか?

また、これを回避できる方法がありますでしょうか?

ご存知の方おられましたら、ご教授下さい。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

9 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2012-10-03T08:37:29+00:00

    peck34 さん、再度返信をしていただきありがとうございます。

    一時ファイルの領域のサイズ変更をされた状態でも取り込み時の動作が変わるようですね。

    再度の確認ですみませんが、 VBA やマクロを使って取り込まれているということでよいでしょうか。

    また、 Web にあるコンテンツ (動画や画像も含める) をすべて取り込みをされているのでしょうか ?

    こちらの環境 Windows 7 + Excel 2010 でも Web クエリを作成して、取り込みを実施してみました。

    ※ 一つのサイトの取り込みだけであれば文字だけでも 10 KB ほどでした。

    今回書いていただいた結果を見る限り、一時ファイルが原因である可能性が高いのかな、と思います。

    推測のお話ですが、もしかしたら VBA やマクロの処理で、古いコンテンツを削除せずに取り込みを行われていることが原因なのかもしれません。

    大きな容量かと思うので古いコンテンツと取り込まれたコンテンツで処理をする量が増えているのかもしれません。

    運用上差支えがなければ、古いコンテンツの整理も試された方がいいかもしれません。

    VBA コードやマクロなどの取り込まれる処理を確認されたいということであれば VBA のコードを書いて VBA フォーラムへ質問して処理の方法を確認してみるのも良いかもしれません。

    VBA フォーラムへ質問してみることで有力な情報や回避策が得られるかもしれないのでよろしければ参考にしてみてくださいね。

    もし内容が違っていたり、こちらのコメントしている内容と違う場合は再度の返信をお待ちしています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2012-10-01T00:51:45+00:00

    飯塚様

    返信ありがとうございます。

    ご指摘の点を確認してみました。

    「Webクエリが無効です」エラーが発生した時にデバックで停止した状態とし、

    インターネット一時ファイルを削除し、マクロを再開してみましたが、

    同じエラーとなります。

    クリーンブートせずに一時ファイルのみ削除した場合、520Mbyteのデータ

    を取り込むことは出来ずエラーとなりました。

    一時ファイルの領域のサイズですが、250Mbyteの場合、1GBの場合

    両方ともエラーとなりました。

    ただ、250Mbyteの場合はエラーが出るのに時間がかかりますが

    1GBの場合は瞬間的にエラーとなります。

    以上の事から何か分かりますでしょうか?

    ご返事お待ちしております。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2012-09-28T08:44:37+00:00

    peck34 さん、こんにちは。

    520 MB のデータは取り込めるようになったのですね。

    インターネット一時ファイルの削除なのですが、エラーが発生した時点でデバックをクリックして停止、そのままインターネット 一時ファイルの削除、そしてそのままマクロを再開という手順で試してみるとどうでしょうか。

    また、現状だと一時ファイルとクリーン ブート、どちらの効果があったのか分からないため、確認のため一時ファイルを削除しただけの状態で試してみると良いかもしれません。

    インターネット一時ファイルが使用する領域のサイズは、現在 1GB に設定されているということでしょうか。

    もし、特に変更などをされていない場合は一度確認してみてください。

    Internet Explorer 7/8/9 : インターネット一時ファイルが使用する領域のサイズを変更する方法

    返信お待ちしています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2012-09-26T08:13:58+00:00

    大沢様

    返信ありがとうございます。

    ご指摘の点を確認してみました。

    >[XL2002]ワークシート更新するとクエリテーブルの更新が繰り返される

    この点については、querytablesのマクロをシートチェンジイベントに

    記述しておらず、ユーザーがシート上のボタンを押して起動するように

    なっているため連続起動はしていません。

    >クリーンブートで起動してどうか

    クリーンブート後起動しますと、今までエラーを起こしていた520Mbyteの

    データが取り込めるようになりました。

    そこでサイズを750Mbyte、980MByteと増やしたところ「Webクエリが無効です」

    エラーになりました。

    この際には再度クリーンブートし、インターネット一時ファイルを削除した

    状態で行いました。

    タスクマネージャーで物理メモリの使用量を確認しましたが

    エラー発生時は65%ほどの使用量となっていました。

    以上のようになりましたが、他に確認すべき点などが

    ございましたらご教授下さい。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  5. Anonymous
    2012-09-26T06:11:53+00:00

    peck34 さん、こんにちは。

    Answers をご利用いただきありがとうございます。

    Excel で Web 上の HTML ファイルをシートに取り込む処理で容量が大きくなるとエラーが発生してしまうということなのですね。

    ファイルが小さい状態であれば問題なく動作できいるということなので、実行時の処理中に問題が起きているのかもしれないですね。

    何か情報が無いかを調べてみたところ、以下の情報が見つかったので参考にしてみてくださいね。

    \[XL2002\] ワークシートを変更するとクエリ テーブルの更新が繰り返される

    Excel のバージョンが違いますが、 VBAの記述の問題の可能性も考えられますし、一時ファイルや、そのほかのプログラムの影響の可能性も考えられます。

    QueryTable の処理制限についても制限があるということは考えにくいので、原因を特定するためには切り分けでの確認が必要かと思います。

    切り分けの確認点としては以下のような方法で確認してみることで原因特定に近づけるのかもしれません。

    ・ タスクマネージャーを確認し、メモリの使用量などは大きくなっていないか

    (Windows 内のほかのプログラムの動作が原因ではないかも確認します)

    Windows をクリーン ブートで起動してどうか

    (OS 内で動作しているそのほかのプログラムを停止して動作を確認する方法です)

    ・ エラー発生時にデバックで一時的にマクロ動作を停止させ、インターネット一時ファイルを削除してみてどうか

    ※ 一時ファイルの削除は実施済みであればすみません

    確認された結果や、なにか新たに気づかれたことがありましたら返信をお待ちしています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません