こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

テキストの読込について

あいうえお
かきくけこ
さしすせそ

↑のような中身のテキストファイルを読み込んで、

あいうえおかきくけこさしすせそ

↑のように、改行をなくして新規テキストに出力する
プログラムを作成中なのですが、上手くいかず
困っています。

改行を無視した取り込みは出来るのでしょうか?
もしくは、LineInput等で読み込んだ後、
改行を取り除くような処理をするのでしょうか?
下記は、現在まで作ったプログラムなのですが、
これだと、改行も同時に取り込んでしまっています。

Private Sub Command1_Click()

Dim sData As String
Dim FileName As String

CommonDialog1.Filter = "テキスト|*.txt|全てのファイル|*.*"
CommonDialog1.ShowOpen
FileName = CommonDialog1.FileName

Open FileName For Input As #1

Do Until EOF(1)
Line Input #1, sData
Loop

Close #1

環境は、WindowsXP、VB6.0エンタープライズです。
以上、宜しくお願い致します<(_ _)>

投稿日時 - 2006-05-21 20:31:09

QNo.2166116

すぐに回答ほしいです

質問者が選んだベストアンサー

これでうまくいきませんか?
Private Sub Command1_Click()
Dim sData As String
Dim FileName As String

CommonDialog1.Filter = "テキスト|*.txt|全てのファイル|*.*"
CommonDialog1.ShowOpen
FileName = CommonDialog1.FileName

Open FileName For Input As #1

Do Until EOF(1)
Line Input #1, sData
Text1.Text = sData + Text1.Text
Loop
Close #1

Open "ABC.txt" For Output As #1
Print #1, Text1.Text
Close #1

End Sub

投稿日時 - 2006-05-21 22:15:06

お礼

invalidさんのお礼にも書きましたが、
LineInputで稼動し、原因はテキスト帳のようでした。
頂いた情報は、別の機会に参考にさせて頂きたいと思います。
情報提供ありがとうございました!

投稿日時 - 2006-05-22 20:59:45

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(7)

ANo.7

次は、FileReadAll関数と Replace関数の使用例です。

? FileReadAll("d:\sales2005plus\Test.txt")
ああああ
いいいい
うううううう
ええええ
おおおお

? replace(FileReadAll("d:\sales2005plus\Test.txt"), chr$(13) & chr$(10), "")
ああああいいいいううううううええええおおおお

Option Explicit

Public Function FileReadAll(ByVal FileName As String) As String
On Error GoTo Err_FileReadAll
   Dim fso As FileSystemObject
   Dim fil As File
   Dim txs As TextStream
  
   Set fso = New FileSystemObject
   Set fil = fso.GetFile(FileName)
   Set txs = fil.OpenAsTextStream(ForReading, TristateUseDefault)
   FileReadAll = txs.ReadAll
Exit_FileReadAll:
   Exit Function
Err_FileReadAll:
   MsgBox Err.Description & "(FileReadAll)", vbExclamation, " 関数エラーメッセージ"
   Resume Exit_FileReadAll
End Function

※Microsoft scripting runtime の参照設定が必要です。

投稿日時 - 2006-05-22 11:35:46

お礼

invalidさんのお礼にも書きましたが、
LineInputで稼動し、原因はテキスト帳のようでした。
頂いた情報は、別の機会に参考にさせて頂きたいと思います。
情報提供ありがとうございました!

投稿日時 - 2006-05-22 21:00:05

ANo.6

Text1.TextはmultiLineです。

投稿日時 - 2006-05-21 22:18:01

こんにちは。

VB.NETでの確認なのでVB6とは違うかもしれませんが
lineInputは改行コードがあるところまで、つまり偉業分のデータを読み込みます。

改行コードを区切り文字としてデータを読み込んでいるので読み込んだデータには改行コードは含まれません。

ですので読み込んだデータを&で繋いでいけばいいと思います。データが出来れば後は書き込めばいいだけでしょう。」

こんな感じです。

Dim mystr As String

Do Until EOF(1)
Line Input #1, sData
mystr = mystr & sData
Loop

投稿日時 - 2006-05-21 22:07:02

お礼

invalidさんのお礼にも書きましたが、
LineInputで稼動し、原因はテキスト帳のようでした。
頂いた情報は、別の機会に参考にさせて頂きたいと思います。
情報提供ありがとうございました!

投稿日時 - 2006-05-22 20:59:17

ANo.3

Line Input で読み込んだデータには改行マークは
付かないはずでは…
新規ファイルに出力するときに改行してませんか?

出力部分のコーディングが見当たりませんが、
セミコロンで終わってますか?

投稿日時 - 2006-05-21 21:40:57

お礼

情報提供ありがとうございます。
こちらに相談した後、LineInputで上手く稼動しました。
どうも、テキスト帳に問題があったようです。

投稿日時 - 2006-05-22 20:55:06

ANo.2

たぶん、↓ここを参考にすれば良いと思いますよ。

http://f57.aaa.livedoor.jp/~jeanne/bbs/faq.cgi?mode=al2&namber=1018&KLOG=6

参考URL:http://f57.aaa.livedoor.jp/~jeanne/bbs/faq.cgi?mode=al2&namber=1018&KLOG=6

投稿日時 - 2006-05-21 21:15:18

お礼

残念ながら上手く行きませんでした(>_<)
情報提供ありがとうございました。

投稿日時 - 2006-05-22 20:52:54

ANo.1

>LineInput等で読み込んだ後、改行を取り除くような処理をするのでしょうか?
そういう処理でいいと思います。

投稿日時 - 2006-05-21 20:33:57

お礼

toshi_2000さん、ご回答ありがとうございます。
その処理についてご教授願えないでしょうか?
宜しくお願いします。

投稿日時 - 2006-05-21 21:08:43

あなたにオススメの質問