- ベストアンサー
CSVファイルを固定長のテキストファイルに変換する。
CSVファイルを固定長のテキストファイルに変換したいのですがEXCEL、ACCESSで変換してもノートパッドで見ると長さが換わっていたりします。 何か良い方法があったら教えてください。
- みんなの回答 (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
その他の回答 (2)
- human_7
- ベストアンサー率29% (15/51)
#1です ツールを探してみました。実際に使っては無いですが、試してみてはいかがでしょうか
お礼
有難うございました。 ばっちり変換できました。
- human_7
- ベストアンサー率29% (15/51)
EXCELで読み込んで希望の幅にし、保存する際に ・テキスト(スペース区切り)(*.prn) を指定されてみてはどうでしょうか? 厳密にやりたければ、Oracleなんかが使えればCHAR型で定義したテーブルにインポートし、それをCSVでエクスポート(CSE等を使って)すればできる様に思います。
お礼
EXCELの保存ではダメでした。 有難うございました。
お礼
有難うございます。 この方法を使ってやります。