
訳在ってコード全体は表示できませんが、
毎日、webからデータを取得するexcelを使ってきました。
コレまで20年以上、問題なく使えてきていましたが、
昨日、一時ファイルだか、、キャッシュだか分かりませんが、
前日分を取り込んでしまうような現象が出ました。
コレまでにも、たまにですが、同じ現象が出た事が在り、
その時のために、キャッシュをクリアするexcelも在りました。
昨日は、それをやってもどうしても前日分しか取れませんでした。
とりあえずがexcelは辞めて、手で一時ファイルを削除し、
再作業をしたら、コレまで通り、ノーマル終了しました。
毎回手でやれば済むかもしれませんが、コレまで通りやりたいなと。
ということで、教えて欲しく質問しています。
私の分からないなりの考えですが、
コレまで使っていたexcelでは、最新版に対応出来ていないのでは、です。
宜しくお願いします。
追加;
私は普通のexcelであればなんとか分かるレベルです。
web関係については全く分かっていません。
なので、ずばり、コードまで教えていただけますよう、
併せてお願いいたします。
キャッシュクリアexcelの内容です。
Private Sub Workbook_Open()'Public Function Call_sample_Delete_Cookie()
Dim objIE As Object
'■IEを起動→表示
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
'■インターネット一時ファイルおよびWebサイトのファイルを削除
Shell "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8"
MsgBox "done"
objIE.Quit
Set objIE = Nothing
ThisWorkbook.Saved = True
If Workbooks.Count <= 1 Then Application.Quit
ThisWorkbook.Close
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは
IEはすでにサポートも完全に停止されて、もはや過去の遺物になろうとしています。
ですので、IEの最新版とかはありません。
ご提示のコードも(過去においては)通常の内容です。
(今まで動作していたのですから、当然ですね)
ありそうなのは、質問者様のPC環境が変わって動作しなくなったとか・・
何が変わったのかわかっていれば原因もわかるでしょうけれど、ご様子からするとわからないであろうと推測します。
怪しいのは、OSのバージョンアップ等で環境が変わったとかでしょうか。
(確実ではありませんけれど・・)
ですので、最近のバージョンアップをキャンセルして元に戻せばこれまで通り動くようになる可能性はあります。
もしもそのまま使い続けたければ、バージョンアップ等を全て停止して、ガラパゴス状態を保てば良いという事になりますけれど・・
(脆弱性を放置することになるので、一般利用はできなくなりますね)
一方で、Windows10の終了時期も近づいていますが、Win11になるとIEは削除されるようです。
(MSによる移行奨励期間もすでに終わっていますし)
そうなれば、(ご提示が無いので不明ですが)本来の目的のコードもまったく動作しなくなる可能性が高いと想像できます。
(ガラパゴス状態を保てば別ですが)
多分、目的はスクレイピングであろうと推測しますので、根本的な解決として、早急に方法を改善するのが宜しいかと思われます。
単純にソースを取得するだけで良いのであれば、HTTPRequestで直接取得する方法もありますし、対象ページがスクリプト等でデータを取得している場合にはブラウザ経由の方法が簡単かも知れません。
https://tonari-it.com/excel-vba-http-request/
https://www.octoparse.jp/blog/intro-to-web-scrap …
いずれにしろ、質問者様には知識がなさそうですので、元のコードを作成なさった方にお願いすることになるのではと想像します。
方法としては別になりますが、最近の(といっても大分以前からですが)エクセルには「WEBデータを取り込む」機能がありますので、そちらを利用する方法も考えられると思います。
(一度セットしておけば「再読み込み」で新しいデータを取得できるはず)
https://exceljoshi.cocoo.co.jp/media/excel-vba-w …
対象が単純なものであれば、こちらの方がはるかに簡単だと思いますし、OSやエクセルのバージョンアップがあっても対応されるでしょう。
(ご利用のエクセルが、かなり旧い場合には使えませんけれど)
ご質問の「キャッシュのクリア」に関してですが、応急処置として、
「VBAでクリアするのではなく、IEの設定でキャッシュをしなくする」
という方法で対応可能と思います。
当方IEを所有していないので、具体的な設定方法は忘れましたし、何分古い情報なのですが、以下のような方法で設定可能であろうと思います。
https://www.rakuten.ne.jp/gold/_rule/temporary-i …
この設定をしておけば、常にキャッシュがクリアされた状態になるはずです。
早速ありがとうございました。
まず、コレまでの方法で問題ないこと、
ということで、私の環境が変わったとのこと、
了解です。
色々教えていただいたので、
これから分からないなりに勉強してみます。
なお、
今回の件を解決しても、i/eが使えなくなるということは致命的ですね。
貼って頂いたリンクを読んでいて、
win11では既に無くなっていて、
その代わりとして「IEモード」があるとのこと。
細かく書きませんでしたが、私のwin10でも同様です。
使っているのはedgeです。
(正しくはブラウザはchromeでedgeはIEモードです。)
コレもやがては消えてしまうということでしょうか。
困ったものです。
兎に角、貼って頂いたリンク、
一つづつ読ませていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAで NHK NEWSの NEWSデータ内容取得が できない 1 2023/04/09 12:26
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Access(アクセス) Access Error3061 パラメータが少なすぎます。4を指定してください。 3 2024/04/12 14:29
- Visual Basic(VBA) VBA 1 2024/02/03 22:51
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) wordのマクロで思うように行きません(ファイル削除ができない) 3 2023/09/12 08:34
- Visual Basic(VBA) vbs ブック共有を解除 2 2024/07/28 03:25
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
このQ&Aを見た人はこんなQ&Aも見ています
-
年間の医療費のデータがあり、月々の集計をする計算式を教えていただけませんか
Excel(エクセル)
-
45490がどうして
Excel(エクセル)
-
フィルター時の、別の列に書いてある数字の表に現れた個別の数字の数量のみを表す式を教えてください。
Excel(エクセル)
-
-
4
条件付き書式の効率的な設定の仕方について
Excel(エクセル)
-
5
エクセルの関数ついて
Excel(エクセル)
-
6
フィルターをかけた時の、別の列に書いてある数字の表に現れた数量のみを表す式を教えてください。
Excel(エクセル)
-
7
エクセル初心者です 用語とか良く分からないので簡単に説明していただけると幸いです 表を作っているので
Excel(エクセル)
-
8
UNIQUE関数、配列数式を使わずに品名ごとの集計を求めたい
Excel(エクセル)
-
9
excelVBAについて。
Excel(エクセル)
-
10
「cells」が上手く機能しない
Excel(エクセル)
-
11
考えた式の戻り値が期待通りにならない
Excel(エクセル)
-
12
excelVBAについて。
Excel(エクセル)
-
13
エクセルの数式が分かりません
Excel(エクセル)
-
14
ExcelでASCを使って全角を半角にするとカタカナも半角になってしまいます。
Excel(エクセル)
-
15
Excel いい方法教えてください。
Excel(エクセル)
-
16
Excelで、毎月の月曜と金曜の合計何日あるかを拾えるような関数ありますか?
Excel(エクセル)
-
17
Excelの複数条件の関数
Excel(エクセル)
-
18
Excelの計算で差分を求める場合について
Excel(エクセル)
-
19
excelVBAについて。
Excel(エクセル)
-
20
Excelで合計を求めたいです
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
【関数】同じ関数なのに、エラ...
-
エクセルの循環参照、?
-
エクセル
-
【マクロ】アクティブセルの時...
-
【マクロ】A列にある、日付(本...
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】3行に上から下に並...
-
【条件付き書式】シートの中で...
-
【マクロ】EXCELで読込したCSV...
-
【エクセル】期限アラートについて
-
【マクロ】列を折りたたみ非表...
-
【マクロ】WEBシステムから保存...
-
【マクロ】オートフィルターの...
-
Excel 複数のセルが一致すると...
-
エクセルに、105と入力すると、...
-
3〜400人分のデータをExcelで管...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報
「都度一時ファイルをクリアする」を設定しました。
コレで、削除excelは使わずに済みそうです。
なお、IEモードは29年までは存続するとなっているみたいです。
ありがとうございました。