VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 ファイル入出力関係のメニュー
1.テキストファイル読み書き色々
2.CSV ファイルの読み書き色々
3.固定長テキストファイルの読込
4.ランダムファイルの簡単なサンプル
5.FileSystemObject の TextStream オブジェクトを使っての読み書き色々
6.ADOを使ってCSVファイルをMSHFlexGridに表示する
7.テキストファイル同士の結合
8.テキストファイルの最後の数行を取得する
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.その他、当サイト内に掲載のファイル入出力に関するサンプル


1.テキストファイル読み書き色々
1.テキストファイルを丸ごと読み込み及び丸ごと保存(その1)
2.テキストファイルを丸ごと読み込み及び丸ごと保存(その2) 
3.テキストファイルを丸ごと読み込み及び丸ごと保存(その3)
4. 
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:追加なし
使用 API:
なし
その他 :
    :
このページのトップへ移動します。 1.テキストファイルを丸ごと読み込み及び丸ごと保存

Option Explicit   'SampleNo:062  2002.05.14   @ 2007.01.19

Private Sub Command1_Click()
'ファイル丸ごと読み込み
  Dim MyText As String
  Dim FileNo As Integer
  Text1.Text = ""

  FileNo = FreeFile            '使用可能なファイル番号を取得
  Open "test.txt" For Input As #FileNo  'ファイルを読込モードで開く
  Input #FileNo, MyText          '開いたファイルから文字列を読み込み
  Text1.Text = MyText           '読み込んだ文字列をテキストボックスに表示
  Close #FileNo              '開いているファイルを閉じる
End Sub

Private Sub Command2_Click()
'テキストボックスの内容を丸ごと保存
  ' "区切りで保存されるので文書中には "は使用不可。
  Dim FileNo As Integer
  FileNo = FreeFile
  Open "test.txt" For Output As #FileNo  'ファイルを書き込みモードで開く
  Write #FileNo, Text1.Text        'ファイルにデータを書き込み
  Close #FileNo
End Sub

Private Sub Form_Load()
'別途プロパティで設定しておいて下さい。
  With Text1
    ' .Move 100, 100, 8000, 5000
    ' .MultiLine = True
    ' .ScrollBars = vbBoth
  End With
End Sub

ご覧のようにコードも簡単で、処理速度も比較的に早いのですが、文字列中に "" が含まれていると無視されたり、読み込み不良が発生したりします。
使用目的に合わせてご使用下さい。
説明不足のところは、付属のヘルプをご覧になるなり、MSDN で調べるなりして下さい。

このページのトップへ移動します。 2.テキストファイルを丸ごと読み込み及び丸ごと保存(その2)
こちらは、その1のように、" 等の制約を受けません。文字列中に " が使用されていても問題なく読み込んで記入された通りに表示されます。

'SampleNo:120  2002.05.22 

Private Sub Command3_Click()
'テキストファイルを丸ごと読み込み表示する(その2)
  Dim intFileNo As Integer
  '使用可能なファイル番号を取得する
  intFileNo = FreeFile
  'ファイルをシーケンシャル入力モードで開く
  Open "test.txt" For Input As #intFileNo
  'バイナリデータとして読込んでUnicodeに変換して表示
  Text1.Text = StrConv(InputB$(LOF(intFileNo), intFileNo), vbUnicode)
  Close #intFileNo
End Sub

Private Sub Command4_Click()
'テキストファイルをバイナリモードで書込み
  Dim intFileNo As Integer
  intFileNo = FreeFile
  'ファイルをバイナリモードで開く
  Open "test.txt" For Binary Access Write As #intFileNo
    'テキストファイルを丸ごと書込み
    Put #intFileNo, , Text1.Text
  Close #intFileNo
End Sub

このページのトップへ移動します。 3.テキストファイルを丸ごと読み込み及び丸ごと保存(その3)
こちらは、その2と同様ですが、バイナリモードでファイルを開いて読み込んでおります。

'SampleNo:120  2002.05.22 

Private Sub Command5_Click()
'テキストファイルを丸ごと読み込み及び丸ごと保存(その3)
  Dim bytArray() As Byte
  Dim intFileNo  As Integer
  Dim lngFileLenB As Long
  lngFileLenB = FileLen("test.txt")
  ReDim bytArray(lngFileLenB - 1)
  '使用可能なファイル番号を取得する
  intFileNo = FreeFile
  'ファイルをバイナリモードで開く
  Open "test.txt" For Binary As #intFileNo
  'バイナリデータとして読込んで
  Get #intFileNo, , bytArray
  Close #intFileNo
  'Unicodeに変換して表示
  Text1.Text = StrConv(bytArray, vbUnicode)
End Sub

保存は、その2と同様の方法で保存して下さい。
どの方法がどのように処理されるかは、各自が色々なデータを使用して試して頂くのが一番の説明になると思いますので試して見て下さい。

このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





このページのトップへ移動します。