• ベストアンサー
  • 困ってます

テキストファイルの結合+改行について

  • 質問No.464709
  • 閲覧数4421
  • ありがとう数2
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 50% (13/26)

ユーザーからの注文が1行1テキストファイルで断続的にメールに添付されて配信されてきます。MS-DOSのCOPYコマンドとワイルドカードを利用して結合のバッチファイルを作成しましたが、テキストファイルの最終に改行がない為、長~いレコードになってしまい、データベース(Accessですが)にインポートできません。改行付で結合、あるいはその他の解決方法はないものでしょうか?
win98+Access2000※Accessはマクロをチョロッといじれる程度の初心者です。
よろしくお願いします。

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

  • 回答No.3
  • ベストアンサー

ベストアンサー率 28% (4488/15978)

Sub test01()
Path = "c:\My Documents\"
Open Path & "xxx.csv" For Output As #2
a = Dir("c:\My Documents\")
p01:
b = Dir()
If b = "" Then GoTo e01
If Right(b, 3) = "csv" Then
MsgBox b
Open Path & b For Input As #1
On Error GoTo 0
Input #1, x
Print #2, x
Close #1
End If
GoTo p01
e01:
Close #2
End Sub
Path=の右辺のところを注文テキストファイルあるフォルダ名に変えてください(フルパス)。そのフォルダには注文テキスト以外置かないように。
Open Path & "xxx.csv" For Output As #2のところは
xxx.csvでテストしましたが、アウトプットファイル名.txt
に変えてください。
エクセルやアクセスVBAのモジュールにコピーし実行できるはずです。
VBの場合も標準モジュールにコピーし、Form1を解放し、Sub test01()をSub Main()にして実行して下さい。
お礼コメント
obaq3bon

お礼率 50% (13/26)

ありがとうございました。回答を充分理解する力がまだ無いので試行錯誤でやってみます。ちちなみにコマンドボタンのイベントに突っ込んで見ましたが今一歩です。やっぱりこの辺を理解していかないと先には進めませんよねぇ。頑張ってみます。
投稿日時:2003/02/06 15:31

その他の回答 (全2件)

  • 回答No.2

ベストアンサー率 29% (218/739)

ではバッチを作成して

copy B\zero.txt B\注文済み.txt
for %%f in (A\注文*.txt) do copy /b B\注文済み.txt+%%f+B\改行.txt B\注文済み.txt

起動条件
1.メールで送られてきたファイルはフォルダAにある
2.フォルダAには上記以外のファイルは存在しない
3.なので当然AとBは別のフォルダ
4.起動前に注文済み.txtは存在しない
5.改行.txt は改行のみのファイル、zero.txtは0バイトのファイル

動作検証はWin2000で行いましたが、Win98でも動くと思います。
  • 回答No.1

ベストアンサー率 29% (218/739)

一番簡単で分かりやすいのは、
改行だけのファイルを作っておき、
コピーするときに間に入れていくことです。

copy a.txt + 改行.txt + b.txt + 改行.txt + ・・・
補足コメント
obaq3bon

お礼率 50% (13/26)

速攻の回答ありがとうございます。
注文030205001.txt
注文030205002.txt
注文030205003.txt
みたいなファイル名で来ますので、注文済み.txtを作成し、copy 注文*.txt 注文済み.txt としております。説明が足りずにすみませんでした。ここに改行を入れたいにですが...
投稿日時:2003/02/05 17:52
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ