二重引用符を含む文字列を検索できるようにするには
下記の記述の re.Pattern = "<hr class=\"separate\">"
の部分をどのように直せばよいのでしょうか?
Sub tagCount()
Dim cnt As Integer
Dim IE As Object
Dim HTML As String
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
IE.Quit
Dim re As RegExp
Dim mc As MatchCollection
Dim m As Match
Set re = New RegExp
re.Pattern = "<hr class=\"separate\">"
re.Global = True
re.IgnoreCase = True
Set mc = re.Execute(HTML)
MsgBox mc.Count
End Sub
ご存知の方がおられましたらご回答をよろしくお願いします。
使用OS:Windows XP
使用ソフト:Microsoft Excel 2003
No.1ベストアンサー
- 回答日時:
こんにちは。
とりあえずパッと見で、試してませんが、
> re.Pattern = "<hr class=\"separate\">"
↓
re.Pattern = "<hr class=""separate"">"
のように、ダブルクウォートをエスケープ(2重に)すれば良いの
ではないでしょうか。
また、単純に HR タグだけカウントしたい、つまり
class="separate"
などの要素を問わないのであれば、正規表現を使わなくても、
MsgBox IE.Document.getElementsByTagName("hr").Length
という簡易な手もあります。
あと、HR タグなら問題ないと思いますけど、タグ数をカウントしたい
のであれば、
> HTML = IE.Document.body.innerHTML
では、<body>~</body> タグ内にあるソースだけがカウント対象となって
しまいますから、ヘッダー部 <head>~</head> も含めて全ソースを対象
にするなら、
HTML = IE.Document.documentElement.outerHTML
です。
No.2
- 回答日時:
こんにちは
re.Pattern = """<hr class=\""" & "separate\" & """>"""
でどうでしょうか?
"~"を文字列として代入する場合
"""~"""でできると思います。
ただ、今回の場合、"が間にもあって、最初と最後だけでは
途中の"で構文エラーになりますので、3つに分けて&でつないで
みました。
一応、マクロで検証した結果、検索できたので大丈夫だと思いますが
以上、ご参考まで
やってみたところ自分の環境では検索できませんでした。
いろいろ試したところ re.Pattern = "<hr class=separate>"とすると
うまく検索できるようです。(HTML取得時にタグの中の「"」を取り除いて取得するため?)
ご回答いただきどうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 正規表現を用いての並び替え 7 2022/04/04 09:27
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel分数の表示について
-
Excelについての質問です。 B2...
-
EXCELの散布図で日付が1900年に...
-
文字2桁、3桁交じりの文字列...
-
【EXCEL】画像の黄色部分の抽出...
-
マクロエクセルのブロック解除
-
絶対参照
-
Excelで表を作ったところに文字...
-
Excelピボットテーブルの1行目
-
エクセルのクイックアクセスツ...
-
DATE関数で現在の年齢を出した...
-
(マクロ)vlookupの元データを同...
-
PDFの請求明細をエクセルにしたい
-
エクセルのクイックアクセスツ...
-
REGEXREPLACE関数について、
-
職場の人から聞かれており、こ...
-
エクセルの空欄をつめて、次の...
-
ユーザー定義関数をアドイン登...
-
EXCELの質問です 119から足した...
-
エクセルの問題です。絶対値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVBAの正規表現で二重引...
-
HPの背景固定タグ
-
インフォカートでの商品販売手...
-
携帯ホームページ
-
HPの縦のサイズ
-
ホームページでYouTube再生
-
日記CGIにアクセス解析を入れる...
-
Tcup無料掲示板にアクセス解析...
-
アクセスログの「HEAD」と...
-
htmlで改行タグを入れていない...
-
大きくなった文字を元に戻すには?
-
ヤフオクの出品説明文をカラー...
-
ドラッグすると見える文字
-
隠しページの探し方
-
数値Lについて
-
トップページの入れ替えを教え...
-
グラデーションの仕方
-
HPのソースをそのまま貼り付け...
-
macでhtmlのタグを打って、開い...
-
拡張子の変え方
おすすめ情報