• ベストアンサー

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

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

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

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.3

他の方もおっしゃられていますが、改行コードがCR+LF になっていない 事が原因と思われます。 秀丸エディタを使用すれば簡単に改行コードの変換ができます。 手順は以下の通りです。  (1) 秀丸エディタから問題のファイルを開きます。  (2) ファイル(F) → 名前を付けて保存(A) を選択します。  (3) 元のファイルを上書きしないように、別のファイル名を入力します。  (4) 「改行=自動」を、「改行=CR+LF」に変更して「保存」ボタンを押下します。

参考URL:
http://hidemaru.xaxon.co.jp/software/hidemaru.html
endorin
質問者

お礼

さっそく教えていただいた方法でやってみたところ、見た目上はうまく改行されているのですが、 そのファイルをさらにエクセル等から開こうとしたときに、やはり1行のデータとして扱われてしまい、うまくいきませんでした。 そこで、秀丸のマクロを使い、1行ごとに改行マークを挿入しました。 大いなるヒントになり、助かりました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • poor_Quark
  • ベストアンサー率56% (1020/1799)
回答No.2

 DOS上のBASICたとえばQuickBASICでは改行コードはCR+LF(キャリッジリターン+ラインフィード/0D+0A)だったはずです。OSがBASICだった頃は覚えがありませんが、オフコンでebcdicの文字コードを使ったデータベースなら確かに改行コードがLFだけのものも覚えがあります。改行コードはマックやunix系のOSだと扱いが違うのでその可能性もあるのではないでしょうか。 http://tohoho.wakusei.ne.jp/wwwxx011.htm  確かめるには簡単で、そのファイルのダンプリストをとってみれば一目瞭然です。ファイルダンプソフトは検索すればいろいろでてきますがたとえば下記のようなものがあります。 http://www.vector.co.jp/soft/win95/writing/se098210.html  改行とおぼしき場所に0Dと0Aが並んでいれば、Windowsでも扱える形式のリターンコードが入っていますし0Aだけだとすると以下のようなプログラムが使えます。この場合ファイル名をワイルドカード(*.*)に指定します。 http://www.yuzuriha.sakura.ne.jp/~way/computer/change_crlf.htm  ファイルをいじる場合はオリジナルファイルには手を加えずコピーしたものをお使いになることをおすすめします。

endorin
質問者

お礼

ダンプリストで調べるという手を忘れていました。 そのほか、今後にも役立ちそうなURLをいろいろ教えてくださり、 ありがとうございました。

すると、全ての回答が全文表示されます。
noname#25358
noname#25358
回答No.1

 認識されてないのか、最初からないのか、その違いは非常に大きいので、まずはそれを調べる必要があります。  バイナリエディタなどでそのファイルを開き、行と行の間に 0D もしくは 0A というキャラクターコードがあれば、改行コードは存在しています。  あれば、それを認識させることで行に分解できます。  ない場合、次に、データが1200バイトちょうどなのか、多少変動するのかを調べてください。  変動がなく、常に1200バイトちょうどの場合、それはBASICの「ランダムアクセスデータ」と呼ばれるものです。  OPEN 命令の記述の仕方で認識させることができますので、調べてみてください。  改行データがなく、データの長さもピンきりだとしたら、人間が手で改行コードを加えていく以外、手はないでしょう。

endorin
質問者

お礼

データはきっかり1200バイトずつです。 ご指摘のとおり、「ランダムアクセスデータ」というものだと思います。 勉強不足でOpen命令というものが何かわからなかったので、 今回はテキストエディタ(秀丸)に簡単なマクロを組み、 行に分解して解決しました。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A

このQ&Aのポイント
  • ノートパソコンの初期設定でライセンス契約の画面から先に進めません。スクロールできないため、同意を押しても反応しません。
  • 電源を落とさずに解決したい状況です。スクロールバーが出ないため、ライセンス契約の内容が読めません。
  • NEC 121wareのWindowsでの問題です。困っているので、助けていただけると嬉しいです。
回答を見る

専門家に質問してみよう