質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

1441閲覧

VBA classNameを完全一致で指定する方法について

Daichi39

総合スコア13

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2019/04/13 05:42

編集2019/04/13 06:28

実現したいこと

VBAで特定のサイトから情報を取得するために、
classNameを指定してデータ取得しようと考えています。

対象サイトのHTML構成↓

①<div class="abc-def">   ~~~</div> ②<div class="abc">  **←このクラスを取得したい**   ~~~</div> ③<div class="abc-def">   ~~~</div>

発生している問題

『document.getElementsByClassName('abc')(0).innerText』
として取得しようとしているのですが、①のclass="abc-def"を引っ張ってきちゃ来ます。

classNameを完全一致で指定することはできないのでしょうか?

かなり初歩的なことかもしれませんが、いろんなサイトで情報を探してもなかなかVBAでのことにはたどり着かず、こちらで質問させていただきました。

何卒、よろしくお願いします。

VBAコード

Sub test() Dim objIE As InternetExplorer Dim targetURL As String 'targetURL取得 targetURL = Cells(1, 1) 'サイトをIEで起動 Call ieView(objIE, targetURL, True) MsgBox objIE.document.getElementsByClassName("abc")(0).innerText End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/04/13 06:03

VBA側のコードをご提示ください
Daichi39

2019/04/13 06:16 編集

VBA側のコードを提示させていただきます。 Sub test() Dim objIE As InternetExplorer Dim targetURL As String 'targetURL取得 targetURL = Cells(1, 1) 'サイトをIEで起動 Call ieView(objIE, targetURL, True) MsgBox objIE.document.getElementsByClassName("abc")(0).innerText End Sub としています。 何卒、よろしくお願いします。
m.ts10806

2019/04/13 06:17

質問は編集できますので質問本文に追記してください。 コメントではマークダウンが使えませんし、デフォルト非表示なので質問本文との関係はほぼないです。
Daichi39

2019/04/13 06:26

不慣れですいません。 ご指摘ありがとうございます。 質問編集にてVBA提示させていただきます。
guest

回答1

0

ベストアンサー

こちら参考にならないでしょうか。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12173440867

投稿2019/04/15 06:07

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Daichi39

2019/04/16 06:44

ご回答ありがとうございます。 頂いた記事も確認はしていたのですが、 『オブジェクトは、このプロパティまたはメソッドをサポートしていません。』 というエラーが出ます。 こちらの記事はJavaScriptについてのことなのかな?と思うのですが、いかがでしょうか><
ttyp03

2019/04/16 06:46

一応こちらでも試してquerySelectorAllが実行できたのは確認済みです。 環境の違いでしょうか。。。
Daichi39

2019/04/25 03:24

Nodelistのことをよく理解していないため、そこで壁にぶち当たってました。 querySelectorAllではなく、querySelectorで実行できました。 .document.querySelector("[class=abc]")
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問