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. |
検索キーワード及びサンプルコードの別名(機能名) |