私は同僚のためのプロジェクトに取り組んでおり、問題が発生しました。以前はExcel VBAで作業していませんでしたが、コーディングではほとんどトレーニングを受けていません。 StackOverflowや数多くの他のウェブサイトは大きな助けになっています。私はこれのためにどこに行くべきか分かりません。出荷追跡、返却日時はランタイムエラー424が必要Object Required
目標。
- ここに私のコードは、これまで
Public Function RoadRunnerTracking() Dim IE1 As Object Dim DeliveryCollection As Object Dim ProUrl As String Set IE1 = CreateObject("InternetExplorer.application") ProUrl = "https://www.rrts.com/Tools/Tracking/Pages/MultipleResults.aspx?PROS=" & Range("a1") With IE1 .Visible = True .Navigate ProUrl Do Until Not IE1.Busy And IE1.readyState = 4: DoEvents: Loop End With Set DeliveryCollection = Trim(IE1.document.getElementsByTagName("Span")(16).innerText) 'THIS LINE RETURNS A RUN TIME ERROR 424 OBJECT REQUIRED Range("b1").Value = DeliveryCollection Set IE1 = Nothing End Function
です(セルB1)を得意とする
- リターンバック納期をロードするページのためのWebページ
- 待機
に移動しますこれは洗練された機能ではありませんが、私は認識しています。私はちょうどいくつかのよじれを解決しようとしています。
私が理解できないことは、その行を別の関数でテストしたところ、うまくいきました。トラッキング番号を実行するのではなく、リンクを結果ページに直接貼り付けるテスト機能を気にしましたが、同じであると思います。ここで
はラインがで動作するようですコードです。
Public Function PartTwoTest()
Dim IE1 As Object
Set IE1 = CreateObject("InternetExplorer.application")
With IE1
.Visible = True
.Navigate "https://www.rrts.com/Tools/Tracking/Pages/MultipleResults.aspx?PROS=359607744"
Do Until IE1.readyState = 4
DoEvents
Loop
End With
DeliveryCollection = Trim(IE1.document.getElementsByTagName("Span") (16).innerText)
Range("b1").Value = DeliveryCollection
Set IE1 = Nothing
End Function
任意の助けをいただければ幸いです。
トラッキング番号のページに直接移動して、次のようなリンクを作成するほうが簡単ではないでしょうか? 'https://www.rrts.com/Tools/Tracking/Pages/MultipleResults.aspx?PROS= 123456789'ここで、123456789は仮定された追跡番号です。 – Ralph
それは大きなポイントです。私は彼がとてもシンプルだったことに気付かなかった。私はそれを反映するためにコードを間違いなく変更します。残念ながら(まだ試していないのですが)、実行時エラーに影響しませんでした。私のコードははるかにシンプルになると思いますが、私はまだ同じ問題を抱えています。 最終的には、パイロットやフェデックスなどのキャリアでも動作するように修正したいと思います。私は彼らのURLがとてもシンプルなのかどうか分からないが、少なくともこのアプリケーションではうまくいくだろう。 – sdrloveshim
各ウェブサイトは異なるので、1つの投稿を使ってそれをすべて解決することはできません。各投稿は、特定の問題に非常に特化している必要があります。 [良い質問をする方法](http://stackoverflow.com/help/how-to-ask)を読んで、おそらくこのサイトの詳細についてのツアーをご覧ください:http:その後、新しい洞察を反映するために上記の投稿を修正することができます。 – Ralph