VBAに関して質問です。


.Navigateに関して質問です。
現在URLの文字列を結合して、それをIEで呼び出したいと考えているのですが
文字列結合後の.Navigate文がうまく行うことができません。

IEを起動すると

HTTP 500 内部サーバーエラーというのが発生してしまいます。

URLはデバッグしてみたのですがうまく結合されているようで、大変お手数をおかけしますがコードを詳しい方に一度見ていただき、.Navigaeteがなぜうまくいかないのか?ご回答いただければと考えております。

お手数をおかけしますがご回答お待ちしております。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/12/29 14:26:43
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:SALINGER No.1

回答回数3454ベストアンサー獲得回数969

ポイント100pt
objIE.Navigate "a & Cells(i, 2) & b & Cells(i, 3)"

objIE.Navigate a & Cells(i, 2) & b & Cells(i, 3)

先程の質問でも同じことなんだけど、基本的な部分で文字列と変数や関数を理解区別することが必要だと思います。

id:aiomock

ご回答ありがとうございます。

2009/12/29 14:22:40
  • id:aiomock
    問題のコード部分です。

    ----------------------------------------------------------------------------

    Dim a As String
    Dim b As String

    a = "https://auction.item.rms.rakuten.co.jp/rms/c2c/item/DI01P004_002?genreId="
    b = "&d_id="

    Debug.Print a & Cells(i, 2) & b & Cells(i, 3)


    objIE.Navigate "a & Cells(i, 2) & b & Cells(i, 3)"

    'ページの表示完了を待ちます。
    While objIE.ReadyState <> 4 Or objIE.Busy = True '.ReadyState <> 4の間まわる。
    DoEvents '重いので嫌いな人居るけど。
    Wend

    ----------------------------------------------------------------------------

    &で区切らず、

    https://auction.item.rms.rakuten.co.jp/rms/c2c/item/DI01P004_002?genreId=406509&d_id=01e5d76ca041058d423ddd04ce538bbd

    の文字列を直接入れるとうまく行くので、なぜ同じ文字列なのに&でくっつけたURLは駄目なのか?わからず投稿させていただきました。

    お手数をおかけしますがわかるかたおりましたらお願いいたします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません