###前提・実現したいこと
在庫数確認のため、WEBページにアクセス
↓
ログイン
↓
在庫確認ページへアクセス
↓
商品コードをセルから取り出し貼り付け
問い合わせボタンを押す
↓
出力された情報をエクセルへ貼り付け
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
技術に関する回答ではありませんが一言。
他社の会員制のWebサービスに対してスクレイピングのような動作をしようとしていると見受けられますが
一般的に、会員制のWebサービスには利用規約が設けられています。
その利用規約には、いわゆるスクレイピングや機械的な操作を禁止している場合があります。
それに反する行為を行った結果、そのサービスを利用できなくなったり、規約に定められた罰則をうける可能性がありますのでご注意ください。
VBAの使用者=ログイン者=あなたなら責任は自身で負えますが、そうでない場合は他人も巻き込むことになります。
簡単にいうと
stock.aspへ直接アクセスしようとすると、index.htmlへ強制的に飛ばされる。
という動作から察して、あまり変な処理はしない方がよいと思います。
投稿2017/03/08 07:53
総合スコア38266
0
ベストアンサー
stock.aspへ直接アクセスしようとすると、index.htmlへ強制的に飛ばされる。
これが原因なのでは?
VBA 関係なく。
飛ばされないように設定してもらって下さい。
投稿2017/03/08 06:44
総合スコア28660
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/08 06:52
2017/03/08 07:03
2017/03/08 07:57
0
objIEがそもそも適切に宣言されてないのではないですか。
検証したところ、ページに要素が無い場合はDocumentメソッドは失敗しました等、もう少し具体的なエラーになりました。
以下のように型を指定せず、オブジェクトもセットしなかった場合に「オブジェクトが必要です」というエラーになりました。
VBA
1Sub hoge() 2 Dim objIE 3 objIE.Document.Forms(0).Item("strNUMBER").Value = Cells(1, 2).Value 4End Sub
つまり、変数名の間違いなどの単純ミスかと推測します。
投稿2017/03/04 10:02
総合スコア686
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/04 18:00
2017/03/08 07:44 編集
2017/03/08 06:38
0
エラー発生行なのだと思いますが、1行のみのコード提示ではなんとも言えません。
現時点で言えることは、提示いただいた1文のどこかでオブジェクトに結びついていないものがあるので怒られているのでは?というくらいです。
一般的に見て一番あやしそうなのは.Item("strNUMBER")
の部分です。
・開いたページに"strNUMBER"が存在しない
・そもそもページを開き終わる前に参照してしまい見つからない
など考えられますが、推測の域を出ません。
もう少しコードを提示いただければより具体的なアドバイスができると思うのですが。。ご検討ください。
投稿2017/03/03 09:19
総合スコア3013
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/04 18:01
2017/03/08 07:44
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/08 08:10
2017/03/08 08:20