次の方法で共有

EXCEL VBAが急にエラーを起こすようになった

Anonymous
2024-11-02T05:24:26+00:00

お世話になります。

EXCEL VBAで株価の取り込みを行っております。

毎日同じように行っていたのですが、1週間ほど前から、百数十件ほど取り込んだところで、エラーが発生して止まってしまうようになりました。前日までは正常に動いていました。

VBAのコードはさわっていません。

WindowsやOfficeの修復もためしましたが、改善しません。

セキュリティソウトを一時的に無効にしてみましたが改善しませんでした。

何が原因と考えられるでしょうか。

VBAの要点部分を載せておきます。

Dim OBJXML As New MSHTML.HTMLDocument 

Dim HTMLDOC As New MSHTML.HTMLDocument 

Dim OBJ1 As Object, OBJ2 As Object, OBJ3 As Object 
```' 

Open "KABUCODE.CSV" For Input As #1

Open "KABUKADATA.CSV" For Append As #2


A0: If EOF(1) Then GoTo F1  ' 終わりの処理へ 

Input #1, コード

Set HTMLDOC = OBJXML.createDocumentFromUrl("株価が載ったサイトのコードごとのURL", vbNullString)

Do Until HTMLDOC.readyState = "complete"

DoEvents 

Loop


Set OBJ1 = HTMLDOC.getElementsByTagName("tbody")

Set OBJ2 = OBJ1(1).getElementsByTagName("tr")

If InStr(1, OBJ2(0).innerText, "現在値", 1) = 0 Then GoTo ER  '現在値が載ったデータがなければエラーへ

Set OBJ3 = OBJ2(0).getElementsByTagName("td")

終値 = OBJ3(0).innerText


・同様に始値、高値、安値、出来高などを取り込み 

・ 

Write #2, Format(日付, "YYYY/MM/DD"), コード,始値,高値,安値,終値, 前日比,出来高  'データの書き込み

GoTo A0  '次のコード読み込みへ

開発者テクノロジ | Visual Basic for Applications

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

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

1 件の回答

並べ替え方法: 最も役に立つ
  1. simo-k 85,415 評価のポイント ボランティア モデレーター
    2024-11-02T05:26:21+00:00

    VBA(マクロ)の公式サポート場所は、海外コミュニティとなっています。

    有識者が集まっている所の方が、適切なアドバイスを受けやすいでしょう。

    Stack Overflow(VBA)

      [VBA プログラミングに関する質問]

      Stack Overflow には、説明的なタイトル、完全で簡潔な問題ステートメント、問題を再現する
      ための十分な詳細の要求などのガイドラインがあることに注意してください。
      機能要求または過度に広範な質問は、トピック外と見なされます。
      新しいユーザーの場合は、Stack Overflow ヘルプ センター にアクセスして詳細を確認して下さい。

    ※ 閲覧者・回答者が多い公式サポートサイトをお勧めします。

      英語で質問を送信してください。

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

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