Excelを使ってスクレイピングの勉強を始めました。
Google翻訳 (https://translate.google.com/?hl=ja#ja/en/) で
日本語「おはよう」と入れたら、翻訳された英語「Good morning」を Excelの一行目に表示されるようにしたいのですが、うまくいきません。
「'多分ここがおかしい」
が問題なのではと思うのですが、あれこれやってもNGです。
どなたか教えていただけないでしょうか
Sub Honyaku()
Dim objIE As InternetExplorer
Dim sURL As String
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
sURL = "https://translate.google.com/?hl=ja#ja/en/" '日本語 → 英語
objIE.navigate sURL
Wait objIE
objIE.document.getElementById("source").Value = "おはよう"
Call WaitFor(WaitTime) 'n秒停止
On Error GoTo Continue
Dim Eng As Variant
'多分ここがおおかしい
Eng = objIE.document.getElementsByClassName("tlid-translation translation")(0).innerText
Cells(1, 1).Value = Eng
Set objIE = Nothing
Exit Sub
Continue:
MsgBox ("翻訳エラー")
Set objIE = Nothing
End Sub
Sub Wait(ByVal objIE As InternetExplorer)
Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
DoEvents
Loop
End Sub
Function WaitFor(ByVal second As Integer)
Dim futureTime As Date
futureTime = DateAdd("s", second, Now)
While Now < futureTime
DoEvents
Wend
End Function
No.1ベストアンサー
- 回答日時:
こんにちは
回答が無いみたいなので・・・
部分的にしか見てはいませんが、
>Eng = objIE.document.getElementsByClassName("tlid-translation translation")(0).innerText
getElementsByClassNameは単独のクラス名で検索するメソッドです。
>"tlid-translation translation"
は複数のクラス名ですので、ひとつずつで2段階に分けて検索するか、あるいは片方だけで代用できるものならそうするか・・・
両方のクラス名で絞り込んで検索したければ、
querySelectorAllやquerySelectorなどを利用する方が簡単かも知れません。
例えば、
querySelector(".tlid-translation.translation")
とか
No.2
- 回答日時:
サイトのソースを見ると、
getElementsByClassName("tlid-translation translation")(0) で取得しているのは、
<span title="" class="">Good morning</span>
の部分のように見えますが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAで NHK NEWSの NEWSデータ内容取得が できない 1 2023/04/09 12:26
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3年間同じクラスになる確率
-
配列の重複する値とその個数を...
-
「天声人語」をインターネット...
-
グローバルIPとプライベートIP...
-
java eclipse 型に解決できません
-
string formatについて
-
同じクラスにならない確率を教...
-
同一パッケージにあるクラスが...
-
自作のクラスファイルがインポ...
-
「自作クラスの型」にキャスト...
-
意味の違いを教えてください Sh...
-
A・B・Cクラスとは?
-
標準モジュールとクラスモジュ...
-
JSPでclassのimport
-
Java「デフォルトのパッケージ...
-
どこからも呼ばれていない無意...
-
クラスのプロパティに構造体を...
-
JSP jsp:usebean で総称型クラ...
-
クラスの継承でメンバ変数が・・
-
UMLのクラス図はmain()も含むん...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
河合塾のクラス分けについて
-
同じクラスにならない確率を教...
-
3年間同じクラスになる確率
-
「天声人語」をインターネット...
-
グローバルIPとプライベートIP...
-
配列の重複する値とその個数を...
-
java eclipse 型に解決できません
-
同一パッケージにあるクラスが...
-
私はクラスLINEにまだ入れてな...
-
老い先短い ジジィ が ふと 思う...
-
自作のクラスファイルがインポ...
-
どこからも呼ばれていない無意...
-
main()を持つクラスが2つ以上...
-
数学の計算問題。 3年間同じク...
-
クラス見てから 女の子5人 ネタ...
-
javaのコンパイルができません...
-
1 つのヘッダファイルに複数の...
-
重複エラーを解決するには
-
IPアドレスの3バイト目の呼び方
-
packageとimport の違いって?
おすすめ情報