|
おはようございます
▼mutu さん:
>おはようございます。
>また、ご助言賜りたく参りました。
>よろしくお願い致します。
>
>
>今、
>
>パス=C:\test.txt
>条件1=あああ
>条件2=いいい
>
>というデータのテキストファイルを読み込んで、
>これを元にDBからデータを取得し、
>取得したデータを設定したパスのファイルに出力しようとしています。
>
>もし、
>このテキストファイルに不備があった場合にはエラーにしようとしています。
>
>そこで、
>“パス=”という文字列がテキストファイルになかったらというエラー条件を作りたいのですが、
>
>どうしたら“パス=”という文字列がなかったという記述ができるかわからずに困っています。
>
>どうしたらよいのでしょうか?
>ご助言よろしくお願いします。
Sub PF_READ()
Dim FName '選択ファイル名
Dim Fs As Object
Dim Gf As Object
Dim Ts As Object
Dim SWD As String
Dim TData As String
Dim rec
'ファイル選択ダイアログを開きファイル名を取得
FName = Application.GetOpenFilename("ファイル (*.*),*.*")
'キャンセルを選択?
If FName = False Then Exit Sub
'検索文字セット
SWD = "パス="
'ファイルオープン
Set Fs = CreateObject("Scripting.FileSystemObject")
Set Gf = Fs.GetFile(FName)
Set Ts = Gf.OpenAsTextStream(1, -2)
TData = Ts.ReadALL
rec = InStr(1, TData, SWD, vbTextCompare)
If rec > 0 Then
MsgBox "パス= 有り:" & rec
Else
MsgBox "パス= 無し:" & rec
End If
Set Fs = Nothing
Set Gf = Nothing
Set Ts = Nothing
End Sub
パスのテキストファイルが小さそうなんで ReadALL を使っていますが
容量が大きい場合は ReadLine を使って1行ずつ処理するように変更してください
|
|