Private Sub コマンド0_Click()
Dim strTexts As String
Dim strText As String
strTexts = "1111" & Chr(13) & Chr(10) & Chr(26) & "2222"
FileWrite "C:\Temp\Text.txt", strTexts
Open "C:\Temp\Text.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, strText
Debug.Print strText
Loop
Close #1
Debug.Print FileRead("C:\Temp\Text.txt") ’ 1行目をリード
Debug.Print FileRead("C:\Temp\Text.txt") ’ 次行をリード
Debug.Print FileRead("C:\Temp\Text.txt", -1) ’ ファイルを閉じる
End Sub
[イミディエイト]
1111
1111
・2222
確かに、 LINE INPUT# では読めませんね!
が、FileRead関数では読めました。
が、Chr(26)の除去コードが必要なようです。
Microsoft Scriprting Runtime を参照させる必要があります。
Public Function FileRead(ByVal FileName As String, Optional isStop As Boolean = False) As String
On Error GoTo Err_FileRead
Static isOpen As Boolean
Static fso As FileSystemObject
Static fil As File
Static txs As TextStream
If Not isOpen Then
isOpen = True
Set fso = New FileSystemObject
Set fil = fso.GetFile(FileName)
Set txs = fil.OpenAsTextStream(ForReading, TristateUseDefault)
End If
FileRead = txs.ReadLine
Exit_FileRead:
If Len(FileRead) = 0 Or isStop Then
isOpen = False
Set txs = Nothing
Set fil = Nothing
Set fso = Nothing
End If
Exit Function
Err_FileRead:
Resume Exit_FileRead
End Function
お礼
こんな読み方もあるんですね。初めて知りました。ありがとうございます。