
二重引用符を含む文字列を検索できるようにするには
下記の記述の 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ランキング
-
【マクロ】元データと同じお客...
-
エクセルのVBAで集計をしたい
-
【画像あり】オートフィルター...
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
【マクロ】実行時エラー '424':...
-
Office2021のエクセルで米国株...
-
エクセルの関数について
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】【配列】3つのシー...
-
他のシートの検索
-
【マクロ】オートフィルターの...
-
ページが変なふうに切れる
-
【マクロ】列を折りたたみ非表...
-
【関数】同じ関数なのに、エラ...
-
【条件付き書式】シートの中で...
-
【エクセル】期限アラートについて
-
Excelファイルを開くと私だけVA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1つの画像の中に複数のリンク...
-
ExcelのVBAの正規表現で二重引...
-
htmlで改行タグを入れていない...
-
アクセスログの「HEAD」と...
-
ドラッグすると見える文字
-
パソコンのメモ帳のことで質問
-
掲示板の変わった書き方。
-
HPのソースをそのまま貼り付け...
-
テーブルが横に長くなってしまう
-
隠しページの探し方
-
大きくなった文字を元に戻すには?
-
テーブルwidthで指定したのに幅...
-
数値Lについて
-
gooなどの字が小さくなっつてし...
-
フレームを使わずに、常に同じ...
-
背景の繰り返しについて
-
PDFファイルをリンクするには?
-
ホームページのトップページに...
-
HP作成(フレーム)
-
IEで「文字のサイズ」が勝手に...
おすすめ情報