
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは。
内容が唐突過ぎて、ずっとあれこれ考えて、返事がつけられませんでした。
>Document.body.innerTextで取得した内容
と書いていますが、その親オブジェクトは、IEオブジェクトですか?当たり前のようで当たり前でないからです。
それで、innerText では、配列に取るなら、どうやっても、何らかの方法で切り分けるしかないのではないですね。
切り分けるなら、innerHTMLの方が楽ですが、そもそも、Document.bodyのテキストから取り出すというところが問題がないでしょうか。返って煩雑になってしまうのです。さしずめ正規表現を駆使して取り出すというのも、一つのアイデアですが、innerHTMLの方が楽ですが、それも、一考が必要です。
FileSystemObject?
ストリーミングにでもするということでしょうか。
ここまで書いて、終わったら、不完全燃焼ですから、Sample を示しておきます。
ここのサイトのデータを取得する、即席のマクロですが、こんな具合です。なんとなく、イメージが分かりますでしょうか。何かの参考になればとおもいます。配列のbuf に、それぞれのデータを格納します。
Dim objIE As New InternetExplorer '事前バインディング
'サイトにアクセスして、その後は、以下の通りです。
With objIE
'関係のない変数の宣言は全部省略しました。
Dim buf(7)
Set pd = .Document.getElementsByClassName("date")
b = Replace(pd(0).innerText, "質問日時:", "")
buf(2) = Format$(b, "yy-MM-dd hh:mm")
Set pa = .Document.getElementsByClassName("author")
buf(5) = Replace(pa(0).innerText, "質問者:", "")
Set pi = .Document.getElementsByTagName("meta")
For i = 0 To pi.Length 'タイトル
If pi(i).getAttribute("property") = "og:title" Then buf(3) = pi(i).Content
Next i
Set pj = .Document.getElementsByName("good")
If pj.Length > 0 Then
buf(6) = pj(0).getAttribute("data-qid") 'id
Else
Set pid = .Document.getElementsByClassName("q_only_remark_item")
Set pid_c = pid(0).ChildNodes
b = pid_c(1).innerHTML
buf(6) = val(Mid(b, InStr(1, b, "/question/") + 10))
End If
'--続く--
End With
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでエラーを無視して一...
-
Excel VBA 配列の分割について
-
ExcelのINDEXとMATCH関数でスピ...
-
エクセルの配列数式、配列定数...
-
フォームから値の取得(BinaryR...
-
[エクセル]連続する指定範囲か...
-
DataSetから、DataTableを取得...
-
VB.NETで DataRow()を利用して...
-
count(*)で取得した値をJAVAの...
-
VBA ユーザーフォーム ボタンク...
-
PHP8でWarning:Undefined varia...
-
【ACCESS】リレーションを組ん...
-
[Excel VB]プルダウンで文字選...
-
「XML」の読み方
-
利用者側のMACアドレスを取得し...
-
Excel VBAで、 ヘッダーへのセ...
-
Excle VBA Findメソッドについて
-
マクロ 特定のセル値のみクリ...
-
任意フォルダから画像をすべて...
-
.NET SqlDataReader のレコー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、絶対値の平均を算...
-
[エクセル]連続する指定範囲か...
-
表にフィルターをかけ、絞った...
-
ExcelのINDEXとMATCH関数でスピ...
-
array関数で格納した配列の型を...
-
Excelのセルの色指定をVBAから...
-
DataSetから、DataTableを取得...
-
Excel オートフィルタのリスト...
-
Datatableへの代入
-
【VBA】ユーザーフォーム リス...
-
配列がとびとびである場合の書き方
-
VBAでの100万行以上のデータの...
-
二次元配列の中の各行の要素を...
-
スプレットシートのGetTextにつ...
-
.NET - 配列変数を省略可能の引...
-
VB6.0 ファイルの一括読込み
-
【VBA】配列に数式を仕込む方法...
-
iniファイルのキーと値を取得す...
-
配列のSession格納、及び取得方...
-
Split関数でLong配列に格納する...
おすすめ情報