vba
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
vba
Sub 検索()
Dim ファイルパス As String
Dim 検索ワード As String
Dim テキスト行 As String
Dim 行番号 As Long
' ファイルパスと検索ワードを設定
ファイルパス = "C:\Path\To\Your\File.txt" ' ファイルの実際のパスに置き換えてください
検索ワード = "安全のご注意"
' ファイルを開く
Open ファイルパス For Input As #1
' ファイルを行ごとに読み込み、検索ワードが含まれているか確認
行番号 = 0
Do While Not EOF(1)
Line Input #1, テキスト行
行番号 = 行番号 + 1
If InStr(1, テキスト行, 検索ワード) > 0 Then
MsgBox 検索ワード & " が見つかりました。行番号: " & 行番号
Exit Do
End If
Loop
' ファイルを閉じる
Close #1
End Sub