• ベストアンサー

CSVファイルを固定長のテキストファイルに変換する。

CSVファイルを固定長のテキストファイルに変換したいのですがEXCEL、ACCESSで変換してもノートパッドで見ると長さが換わっていたりします。 何か良い方法があったら教えてください。

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

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

下記を参考にやって見てください。 エクセルのVBAで、下記を標準モジュールに貼りつけて、実行すれば出来ます。 項目数(フィールド数)が増えた場合どこを増やすか 判りますね。String * 7は桁長を指定してください。 文字列は左詰、数字は右詰にしてます。 MsgBoxの行は確認に使いました。 メモ帳で3項目の簡単な例を作り、テストして見てください。私がしたサンプル例 1,2,a 34,43,ccc 42,3,xcd ’--- Sub test02() Dim x As String * 7 Dim y As String * 7 Dim z As String * 7 Open "c:\My documents\test3.csv" For Input As #1 Open "c:\My documents\test3.prn" For Output As #2 '----- While EOF(1) = False Line Input #1, s a = Split(s, ",") RSet x = a(0) RSet y = a(1) LSet z = a(2) 'MsgBox "=" & z & "=" u = x & y & z ' MsgBox "=" & u & "=" Print #2, u Wend '----- Close #1 Close #2 End Sub

gara
質問者

お礼

有難うございます。 この方法を使ってやります。

その他の回答 (2)

  • human_7
  • ベストアンサー率29% (15/51)
回答No.2

#1です ツールを探してみました。実際に使っては無いですが、試してみてはいかがでしょうか

参考URL:
http://member.nifty.ne.jp/kenji_okada/chgfld.htm
gara
質問者

お礼

有難うございました。 ばっちり変換できました。

  • human_7
  • ベストアンサー率29% (15/51)
回答No.1

EXCELで読み込んで希望の幅にし、保存する際に ・テキスト(スペース区切り)(*.prn) を指定されてみてはどうでしょうか? 厳密にやりたければ、Oracleなんかが使えればCHAR型で定義したテーブルにインポートし、それをCSVでエクスポート(CSE等を使って)すればできる様に思います。

gara
質問者

お礼

EXCELの保存ではダメでした。 有難うございました。

関連するQ&A