• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

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
質問者

お礼

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

その他の回答 (2)

  • timber
  • ベストアンサー率29% (218/739)
回答No.2

ではバッチを作成して 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でも動くと思います。

  • timber
  • ベストアンサー率29% (218/739)
回答No.1

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

obaq3bon
質問者

補足

速攻の回答ありがとうございます。 注文030205001.txt 注文030205002.txt 注文030205003.txt みたいなファイル名で来ますので、注文済み.txtを作成し、copy 注文*.txt 注文済み.txt としております。説明が足りずにすみませんでした。ここに改行を入れたいにですが...

関連するQ&A

  • テキストファイル結合のバッチコマンド

    DOSプロンプトで、「copy」というコマンドを使って特定のフォルダ内のテキストファイルを全て読み込んで結合するバッチファイルを作りたいのですが、わかる方教えてください。

  • COPYコマンドで結合すると余計な改行コードができる

    batファイル内でCOPYコマンドで2つのファイルを結合するコードを書いています。 しかし、中身が空の0KBのデータ同士を結合すると、改行データが1つ含まれる1KBのデータが作成されてしまいます。 この改行データの作成を防ぐにはどのようなコマンドを書けばよろしいでしょうか。どなたかご存知の方がいれば宜しくお願い致します。 【2つのファイルを用意】 test01.txt 0KB test02.txt 0KB ↓ 【結合】 COPY test*.txt test.txt ↓ 【改行コードを含むテキストが作成される】 text.txt 1KB

  • テキストファイルのインポートマクロが作成できない

    テキストファイルのインポートをマクロ作成しようと、 アクション:データベース変換 変換の種類:インポート データーベースの種類:テキストを選択しようとしたところ、選択リストにCSVやTXTの選択項目がありません。 Office proにて再インストールをしてみましたが、やはりTXTの選択項目は出てきませんでした。 どこかに設定があるのでしょうか。 宜しくお願いいたします。 ちなみにOSはXP、ACCESSは2000です。

  • テキストファイルの入力について教えてください。

    可変長レコードのテキストファイルを1レコードずつ読み込んで処理をしたいと思っています。 改行コードで区切られているので、line inputで読み込もうとしていますがうまくいきません。 テスト用に入力ファイルを小さくするとうまくいくのですが、目的のファイル(180MB)を読み込もうとするとフリーズしたような状態になってしまいます。 どうすればよいかお知恵を拝借できないでしょうか。 EXCEL2003 VBAです。 よろしくお願いいたします。

  • テキストファイルに改行コードを付加してレコードを分割したい。

    テキストファイルに改行コードを付加してレコードを分割したい。 MSDOSテキストファイルで、1レコードのサイズが128バイトのテキストファイルが あるのですが、レコード間に改行コードがありません。 レコード10件なら1280バイト 20件なら2560バイトのファイルです。 これを128バイトごとに改行コードを付加できるようなソフトはないでしょうか? ファイル分割ではなく、レコードの分割ができる物を探しています。 よろしくお願いします。

  • テキストレコードの改行マーク挿入について

    おそらく「BASIC」で作成されたと思われる、あるデータベースですが、 普通にテキストファイルで開くと、改行マークが認識されずに (最初からついていない可能性もあります。) 長い一行のレコードとして存在しています。 本来、1行1200バイト*1000件ほどのデータファイルです。 なんとか改行マークを認識させ、データベースとして管理したいのですが。 できれば、エクセル等のアプリケーション(VBA使用)から、 そのような操作ができないでしょうか? よろしくお願いします。

  • 改行コードの入っていないテキストファイルが開けるテキストエディタは?

    1レコードが256バイトのテキストデータが格納されているファイルがあるのですが、このファイルには改行コードが入っていません。 テキストエディタにてファイルの中身を確認したいのですが、メモ帳ですときれいに表示できません。 1行256バイトで表示できるフリーのテキストエディタをどなたかご存知でしょうか。 ご存知の方がいらっしゃいましたら教えてください。 お願いします。

  • DOSプロンプト:一番速く10万テキストファイルを結合できる方法を教えてください。

    DOSプロンプト:一番速く10万テキストファイルを結合できる方法を教えてください。テキストのファイル名は、000001.txt,000002.txt…となっています。単純にcopy 000001.txt+000002.txt+…とすると文字数オーバー?なのか処理がとまってしまいます。

  • ACCESSで、テキストファイルをインポートしたい

    宜しくお願い致します。 ACCESSで、テキストファイルをインポートしてテーブルを作成したいのですが、ファイル→インポートを選択して、ウィザードを開く方法は分かるのですが、マクロを作成してインポートは出来ないでしょうか? excel、CSVファイルでしたら、「ワークシート変換」、「テキスト変換」のマクロでインポートしたりエクスポートしたり出来ると思うのですが・・・、 (1)テキストファイルをインポートしたり、エクスポートしたりする場合、どのようなマクロがあるのでしょうか。 (ためしに、「出力」マクロで、あるテーブルをCSVファイルにエクスポートしてみたのですが、カンマ区切りにできず、excelのような枠付きのテキストファイルになってしまいました。) (2)容量が大きいデータの場合は、テキストファイルでエクスポートしたほうが良い・・・という認識に間違いはありませんでしょうか。 質問が一つ増えてしまいましたが、宜しくお願い致します。

  • 改行のあるCSVファイルをExcelに読み込みたい

    CSVファイルをExcelにインポートしたいのですが CSVファイルのデータ内に改行が入っていたので、レイアウトが崩れて、 うまくExcelにインポートできない状態です。 改行を置き換えで取り除くと、すべて横並びになってしまいます。 1レコードは59項目と決まっているのですが、手作業で改行を入れるのは 数が多く難しそうです。 なんとかうまく取り込む方法はないでしょうか? プログラミングは全くわかっていない初心者ですが、 エクセルのVBAにコピペして実行することは可能です。。。 カテ違いだったらすみません><

専門家に質問してみよう