エクセルのvalue値をobject型の変数の仕方をおしえていただきたいです。

実現したいこと

VBAについて質問です。

エクセルのセルに入っている、URLの中のHTMLの中の一部のタグを取ってきたいと思っております。
今の所、こちらのサイトのコードを参考にして取ってこれるようにしたいと考えております。
https://m-kenomemo.com/excel-html-list/

発生している問題・エラーメッセージ

しかし、下記のようなエラーが出てしまいます。
セルの.value値をobject型おそらく型があっていないのでエラーになっているのかなと推測しています。
しかし、value値をobject型の変数に代入するやり方をしらべましたが、そのようなページは出てきませんでした。

実行時エラー ’424’ オブジェクトが必要です。

該当のソースコード

PHP

1'--------------------- htmlを取得する ここから --------------------- 2 'HTMLを貼り付けるシートを作成 3 Worksheets.Add After:=Worksheets("貼り付け")4 ActiveSheet.Name = "HTML-" & Worksheets("貼り付け").Cells(i, "U").Value 5 itemURL = Worksheets("貼り付け").Cells(i, "M").value 6 Call UrlIE((itemURL))7'--------------------- htmlを取得する ここまで --------------------- 8 9ここにまだコードが入ります。 10 11 'MsgBox "(新規登録分○件 改修分○件)と(新規登録分○件 改修分○件)を作成しました。"12 13End Sub 14 15 16'----------------------------------------------------- HTMLを取得 ----------------------------------------------------- 17 18'https://m-kenomemo.com/excel-html-list/ より19 20'URLを指定してIEを取得する 21Function UrlIE(UrlTarget As Object) As Object 22 Dim ie As Object 23 Set ie = CreateObject("InternetExplorer.Application") 24 25 ie.Visible = True 26 ie.navigate UrlTarget 27 28 Do While ie.Busy = True Or ie.readyState <> 4 29 DoEvents 30 Loop 31 Set UrlIE = ie 32 Call MakeIchiran() 33End Function 34 35'要素を全て取得(確認用の要素一覧) 36Sub MakeIchiran(objie As Object)37 ' Dim objie As Object 38 ' Set objie = UrlIE(Worksheets("貼り付け").Cells(i, "M").Value)39 Call Ichiran_Make(objie)40 MsgBox "一覧を作成しました"41 42 Cells(1, 8).value = objie.document 43End Sub 44 45Sub Ichiran_Make(objie As Object)46 Dim el As Object47 Dim HTMLn As Long 48 49 50 Sheets("一覧").Select 51 Cells.ClearContents 52 53 54 'タイトル入力 55 Cells(1, 1) = "No." 56 Cells(1, 2) = "TypeName" 57 Cells(1, 3) = "tagName" 58 Cells(1, 4) = "outerHTML" 59 Cells(1, 5) = "innerHTML" 60 Cells(1, 6) = "outerText" 61 62 '幅指定 63 Cells(1, 1).ColumnWidth = 5.6364 Cells(1, 2).ColumnWidth = 9.6365 Cells(1, 3).ColumnWidth = 4.7566 Cells(1, 4).ColumnWidth = 12.3867 Cells(1, 5).ColumnWidth = 12.3868 Cells(1, 6).ColumnWidth = 12.3869 70 For Each el In objie.document.all 71 HTMLn = HTMLn + 172 Cells(HTMLn + 1, 1) = n 73 Cells(HTMLn + 1, 2) = "'" & TypeName(el) 'TypeNameでオブジェクトのタイプを表示 74 Cells(HTMLn + 1, 3) = "'" & el.tagName 'タグの名前 75 Cells(HTMLn + 1, 4) = "'" & el.outerHTML 76 Cells(HTMLn + 1, 5) = "'" & el.innerHTML 77 Cells(HTMLn + 1, 6) = "'" & el.outerText 78 Next el 79 80 'Worksheets("HTML-" & Worksheets("貼り付け").Cells(i, "U").Value).Range("C:C").Find(What:="'TABLE").Row 81 Worksheets("upload-" & sheetname).Cells(UploadRow, "BV").Value = Worksheets("HTML-" & Worksheets("貼り付け").Cells(i, "U").Value).Cells(Worksheets("HTML-" & Worksheets("貼り付け").Cells(i, "U").Value).Range("C:C").Find(What:="'TABLE").Row , "D").Value 82End Sub 83

試したこと

「Function UrlIE」の中まで、Variant型で持っていけないかと思いましたが、それでもエラーが出てしまっており、どうやってもできない状態です。

補足情報(FW/ツールのバージョンなど)

どうやったらできるのかどなたか教えていただきたいです。よろしくお願いします。

コメントを投稿

0 コメント