HTMLのソースコードを取得する下記のVBAを実行すると
タグの部分が大文字(<H1>等)になってしまいます。
どうすれば小文字のタグのまま取得することが出来るのでしょうか?
使用OS:Windows XP
使用ソフト:Microsoft Excel 2003
ご存知の方がおられましたらご回答をよろしくお願いします。
Sub sample()
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate ("http://www.yahoo.co.jp/")
While IE.busy: Wend
While IE.Document.readyState <> "complete": Wend
HTML = IE.Document.body.innerHTML
MsgBox HTML
IE.Quit
End Sub
No.3ベストアンサー
- 回答日時:
パターンに自身はないですが・・・
Sub sample_2()
Dim RegExp As Object
Dim Match As Variant
Set RegExp = CreateObject("VBScript.Regexp")
RegExp.Pattern = "<\/?[A-Z]+([ 0-9]|>){1}"
RegExp.Global = True
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate ("http://www.yahoo.co.jp/")
While IE.busy: Wend
While IE.Document.readyState <> "complete": Wend
HTML = IE.Document.body.innerHTML
MsgBox HTML
For Each Match In RegExp.Execute(HTML)
HTML = Replace(HTML, Match.Value, StrConv(Match.Value, vbLowerCase))
Next
MsgBox HTML
IE.Quit
End Sub
こうゆう感じの事でしょうか?
No.4
- 回答日時:
こんにちは。
>どうすれば小文字のタグのまま取得することが出来るのでしょうか?
#1さんのおっしゃるとおり必要ないです。HTMLコードは、タグで挟まれているだけでよいわけで、タグの中の大文字小文字は、関係ないと思います。IE から、ソースを取ればよいのでは?
あえて、VBAが分からないのなら、Wordやテキストエディタで置換すればよいと思います。それに、本では読んだことがあるのですが、ソースの二次的利用ではありませんか?
もう、回答は出てしまっているけれども、そういう質問というのは、きちんとした理由が必要ではないでしょうか?
No.2
- 回答日時:
タグといえば < > で囲まれているのがルール。
というわけで< >で抜き出してそれぞれに小文字変換を加えてみるのはどうでしょうか。
ファイルの読み込みとかしたことないので詳しくないのですが、
変数 HTML はstring型でしょうか?
HTMLを取得した後、以下のコードを挿入してみるとどうでしょう。
変数宣言は省略。
--------------------------------
tag_start = 0
tag_end = 0
For i = 1 To Len(HTML)
moji = Mid(HTML, i, 1)
If moji = "<" Then
tag_start = i
ElseIf moji = ">" Then
tag_end = i
HTML = Left(HTML, tag_start - 1) & StrConv(Mid(HTML, tag_start, tag_end - tag_start + 1), vbLowerCase) & Right(HTML, Len(HTML) - tag_end)
tag_start = 0
tag_end = 0
End If
Next i
--------------------------------
文字列から < > を見つけて抜き出して、小文字に変換したものを、
タグ前後の文字と再度くっつけて変換してるように見せます。
これを < > の個数分繰り返します。
No.1
- 回答日時:
大文字でも小文字でも良いルール。
従ってどちらもありえる。
大文字なら小文字に変えれば済むことではないですか。なぜこんな質問が出るのか。
Sub test01()
a = "HTML"
b = StrConv(a, vbLowerCase)
MsgBox b
End Sub
参考
http://officetanaka.net/excel/vba/function/StrCo …
この回答への補足
StrConvを使用すると例えば<H1>sampleTEXT</H1>の場合
<h1>sampletext</h1>となってしまいます。
あくまで小文字に変えたいのはタグだけです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Windows 10 パソコン初期化の件です 2 2022/06/05 11:05
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) 【VBA】先月分の取得ができない理由が分かりません。 2 2022/04/24 11:16
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- その他(パソコン・周辺機器) EXCELで「WEBオプションの対象ブラウザ」を変更する方法 2 2023/04/12 15:44
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リーバイス?
-
ExcelのVBAでHTMLのソースのタ...
-
ExcelのVBAでHTMLのタグ数を取...
-
ホームページ作成・タグ
-
万引き防止タグについてです。
-
NFCタグシールについて
-
태그했습니당ってどういう意味?
-
MacのMailでThunderbirdのタグ...
-
HPのメモ帳のソースが変更で...
-
DELL製パソコンのトラブル解決...
-
ジーパンにベルトを通すとき
-
デメタグとは?
-
ピクシブ「ブックマークしてい...
-
Webブラウザとは、何から何まで...
-
今日朝通勤中、コートの後ろの...
-
AfterEffectsでイージーイーズ...
-
GoogleChromeでレイアウトが左...
-
掲示板からIPアドレスってど...
-
XMLを作成してもタグしか表示さ...
-
Mayaレンダリングの中断
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
埼玉県内にUFOキャッチャーで突...
-
pixivの消えないブックマークタ...
-
Tシャツの刺しゅうがチクチクす...
-
衣服のTシャツや下着のパンツな...
-
品質表示タグが付いてない商品
-
ジャケットの革の素材がわかり...
-
リーバイス?
-
ExcelのVBAでHTMLのソースのタ...
-
下着などの洗濯タグ、どうやっ...
-
ExcelのVBAでHTMLのタグ数を取...
-
デメタグとは?
-
<属性/>
-
長いホームページで途中の位置...
-
ボタンタグでリンクは貼れませ...
-
DELLサービスタグ入力について
-
VLANタグについて教えてください
-
異なるメーカー機器同士のVLAN...
-
店の入口などについている、防...
-
ピクシブ「ブックマークしてい...
-
動画aviファイルのHTML組み...
おすすめ情報