Sub HTMLファイル内の文字列検索()
Dim フォルダパス As String
Dim 対象ファイル As String
Dim ファイル内容 As String
Dim ファイル番号 As Integer
Dim 行番号 As Long
' フォルダパスを設定
フォルダパス = "C:\Path\To\Your\Folder" ' 対象のフォルダのパスに置き換えてください
' フォルダ内のHTMLファイルを処理
対象ファイル = Dir(フォルダパス & "\*.html")
Do While 対象ファイル <> ""
' ファイルを開く
ファイル番号 = FreeFile
Open フォルダパス & "\" & 対象ファイル For Input As ファイル番号
' ファイル内容を一括で読み込む
ファイル内容 = Input$(LOF(ファイル番号), ファイル番号)
' ファイルを閉じる
Close ファイル番号
' "安全上のご注意" を検索
行番号 = InStr(1, ファイル内容, "安全上のご注意")
' 発見した場合はメッセージを表示
If 行番号 > 0 Then
MsgBox "ファイル名: " & 対象ファイル & vbCrLf & "見つかった行番号: " & GetLineNum(ファイル内容, 行番号)
End If
' 次のファイルを取得
対象ファイル = Dir
Loop
End Sub
Function GetLineNum(text As String, position As Long) As Long
' 指定位置が含まれる行番号を取得する関数
Dim lines As Variant
lines = Split(text, vbCrLf)
Dim totalLength As Long
Dim i As Long
For i = LBound(lines) To UBound(lines)
totalLength = totalLength + Len(lines(i)) + 2 ' 行末のCrLf分も含む
If totalLength >= position Then
GetLineNum = i + 1
Exit Function
End If
Next i
End Function