|
▼ハト さん:
>おはようございます
>
>▼mutu さん:
>>おはようございます。
>>また、ご助言賜りたく参りました。
>>よろしくお願い致します。
>>
>>
>>今、
>>
>>パス=C:\test.txt
>>条件1=あああ
>>条件2=いいい
>>
>>というデータのテキストファイルを読み込んで、
>>これを元にDBからデータを取得し、
>>取得したデータを設定したパスのファイルに出力しようとしています。
>>
>>もし、
>>このテキストファイルに不備があった場合にはエラーにしようとしています。
>>
>>そこで、
>>“パス=”という文字列がテキストファイルになかったらというエラー条件を作りたいのですが、
>>
>>どうしたら“パス=”という文字列がなかったという記述ができるかわからずに困っています。
>>
>>どうしたらよいのでしょうか?
>>ご助言よろしくお願いします。
すみません、内容を取り出すんですから
1行づつ処理する方がいいですね
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 FPath As String
Dim rec As Long
'ファイル選択ダイアログを開きファイル名を取得
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)
rec = 0
FPath = ""
Do While Ts.AtEndOfStream <> True
TData = Ts.Readline
rec = InStr(1, TData, SWD, vbTextCompare)
If rec > 0 Then
FPath = Mid(TData, rec + 3)
MsgBox "パス=" & FPath
Exit Do
End If
Loop
If FPath = "" Then
MsgBox "パス= 無し", vbCritical, "ファイルエラー"
End If
Set Fs = Nothing
Set Gf = Nothing
Set Ts = Nothing
End Sub
|
|