アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelシートをテキスト形式で保存するマクロを作成しているのですが、
Excelでは1行なのに、出来上がったテキストでは途中で改行されてしまいます。
ExcelにはAからDEまでデータが入力されています。
途中で改行されてしまう原因は何なのでしょうか。

ご回答よろしくお願い致します。

A 回答 (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/sub0 …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

2)でご指摘頂いたとおりの状況でした。
項目の桁をゼロ埋めして揃えてからテキストで保存をするというマクロなので、
文字数は240文字を軽くオーバーしていました。

教えて頂いたURLを参考にさせて頂きます。

ありがとうございました。

お礼日時:2010/09/07 09:51

>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
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2010/09/07 09:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!