Visual Basic Tips


テキストファイルのアクセス


'----------------------------------------------
' Open=Input
' LineInput(一行づつ読み込み)
'----------------------------------------------
Private Sub Read_LineInput(strTxtPath As String)
  
Dim str As String
  
Dim intFileno As Integer

  intFileno = FreeFile
  
Open strTxtPath For Input As intFileno
  
Do Until EOF(intFileno)
    Line Input #intFileno, str
'一行読み込み
    
Debug.Print str
  
Loop
  
Close #intFileno
End Sub

'----------------------------------------------
' Open=Input
' Input #   カンマ区切り
' Input関数 読み込む文字数指定
'----------------------------------------------
Private Sub Read_Input(strTxtPath As String)
  
Dim str1 As String
  
Dim str2 As String
  
Dim intFileno As Integer

  intFileno = FreeFile
  
Open strTxtPath For Input As intFileno
  
Do Until EOF(intFileno)
    Input #intFileno, str1
'「Input #」を使用して読み込んだデータは「Wite #」を使って書きこみます。
    
'Input #intFileno, str1 , str2 '2つの項目がカンマで区切られている場合
    
'str = Input(256, #intFileno) 'これだと256文字読み込みます。
    
Debug.Print str1
  
Loop
  
Close #intFileno
End Sub

'----------------------------------------------
' Open=Binary Read
' Input #
'----------------------------------------------
Private Sub Read_Binary_Input(strTxtPath As String)
  
Dim str1 As String
  
Dim str2 As String
  
Dim intFileno As Integer
  
Dim lngFilelen As Long

  intFileno = FreeFile
  
Open strTxtPath For Binary Access Read As intFileno
  
Do While lngFilelen < LOF(intFileno) 'LOFはintFilenoで指定したファイルのサイズを返します。
    Input #intFileno, str1
'「Input #」を使用して読み込んだデータは「Wite #」を使って書きこみます。
    
'str1 = Input(256, #intFileno) 'これだと256文字読み込みます。
    
Debug.Print str1
    lngFilelen = Loc(intFileno)
'LocはintFilenoで指定したファイルの現在の読み込み位置を指定します。
  
Loop
  
Close #intFileno
End Sub

'----------------------------------------------
' Open=Binary Read
' Get
'----------------------------------------------
Private Sub Read_Binary_Get(strTxtPath As String)
  
Dim str1 As String * 256
  
Dim intFileno As Integer

  intFileno = FreeFile
  
Open strTxtPath For Binary Access Read As intFileno
  
Do Until EOF(intFileno)
    
Get intFileno, , str1
    
Debug.Print str1
  
Loop
  
Close #intFileno
End Sub

'----------------------------------------------
' Open=Output
' Write #
'----------------------------------------------
'Write # は書き込むときに項目の間にカンマ (,) を挿入します。
'文字列は、ダブル クォーテーション ("") で囲まれて出力されます。
Private Sub Write_Write(strTxtPath As String)
  
Dim intFileno As Integer

  intFileno = FreeFile
  
Open strTxtPath For Output As intFileno 'OutputではなくAppendを指定するとファイルに追加されます。
  
'Write # で書きこんだデータは「Input #」で読み込みます。
  Write #intFileno,
[書きこむデータ]'複数の項目を出力する時は「Write #intFileno, [書きこむデータ1],[書きこむデータ2]」とします。
  
Close #intFileno
End Sub

'----------------------------------------------
' Open=Output
' Print #
'----------------------------------------------
'「Print #」はデータのイメージそのままを出力します。

Private Sub Write_Print(strTxtPath As String)
  
Dim intFileno As Integer

  intFileno = FreeFile
  
Open strTxtPath For Output As intFileno 'OutputではなくAppendを指定するとファイルに追加されます。
  
'Print # で書きこんだデータは「Input関数」「Line Input #」で読み込みます。
  
Print #intFileno, [書きこむデータ]
  
Close #intFileno
End Sub

'----------------------------------------------
' Open=Binary Write
' Put
'----------------------------------------------
Private Sub Write_Binary_Put(strTxtPath As String)
  
Dim intFileno As Integer

  intFileno = FreeFile
  
Open strTxtPath For Binary Access Write As intFileno
  
Put intFileno, , [書きこむデータ]
  
Close #intFileno
End Sub


DownLoad vbtips026.lzh 3KB (VB6.0)