- ベストアンサー
Excelシートをテキスト形式で保存するマクロを作成しているのですが、
Excelシートをテキスト形式で保存するマクロを作成しているのですが、 Excelでは1行なのに、出来上がったテキストでは途中で改行されてしまいます。 ExcelにはAからDEまでデータが入力されています。 途中で改行されてしまう原因は何なのでしょうか。 ご回答よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
可能性としては以下など考えられます。 1)セル内で改行している箇所はありませんか? その場合は、セル内改行文字列 vbLf あるいは Chr(10) を 事前に置換で消すなどすれば対応できるかと思います。 2)スペース区切りテキストの.prnファイルでの保存ではないですか? その場合、1行あたりの文字数に制限があります。240文字です。 ↓こちらを参考に対応してください。 『Excel で書式付きテキスト (.prn) の文字数が 1 行あたり 240 文字に制限される』 http://support.microsoft.com/kb/249885/ja またはスペース区切りじゃなくタブ区切りのテキスト形式にするとか、 固定長ファイルなら↓こちらを参考にするとか。 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_055.html
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
>Excelシートをテキスト形式で保存するマクロを作成しているのですが、 マクロを作成しているといって、マクロを見せないなら、教えようがありませんから、マクロを書いてください、と言っていただいたほうが良いと思いますが。なお、私は出来る限り、他人のマクロは参照したりしません。 Sub Text_Output_Print() Dim i As Long Dim buf As String Dim FNo As Integer FNo = FreeFile Open "TextTemp.txt" For Output As #FNo For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(i, 1).Value <> "" Then buf = Replace(Cells(i, 1).Value, vbLf, "") Print #FNo, buf End If Next Close #FNo End Sub
お礼
ご回答ありがとうございました。
お礼
ご回答ありがとうございます。 2)でご指摘頂いたとおりの状況でした。 項目の桁をゼロ埋めして揃えてからテキストで保存をするというマクロなので、 文字数は240文字を軽くオーバーしていました。 教えて頂いたURLを参考にさせて頂きます。 ありがとうございました。