[[20160620163457]] 『マクロでタブ区切りのtxtファイルに書き出しを実香x(エンディミオン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロでタブ区切りのtxtファイルに書き出しを実行』(エンディミオン)

いつもお世話になっております。

現在、指定のセルだけをテキストファイルとして書き出すマクロを考えておりますが、他サイトで調べて実行したところ、.txtを指定しているにも関わらず、開いてみると半角スペース区切りのデータとなってしまいます。

きちんとタブ区切りのファイルとして書き出しできればと思いますので何卒宜しくお願い致します。
単純に.txt(タブ区切り)でファイル書き出しする部分のマクロ文が知りたいです。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


 マクロの記録で名前を付けて保存のタブ区切りを記録して参考にしてはどうか?
(ねむねむ) 2016/06/20(月) 16:44

ねむねむ様 ありがとうございます。記録して中身見てみましたが、普通にxltextってタイプで保存という内容でした。実際にやりたいことを貼らせていただきます。
以下の場合、タブ区切りではないファイルで書き出しされてしまうのです。
書き出し以外の部分は、セル範囲を指定して必要な部分だけ抜く文です。

For Each myRow In targetRange.Rows
ReDim buf(1 To myRow.Columns.Count)
For i = 1 To myRow.Columns.Count
If i = 2 Then

Else
buf(i) = myRow.Cells(i).Text + " "
buf2 = Join(buf, "")
buf2 = Left(buf2, Len(buf2) - 1)
End If
Next i
.WriteLine buf2
Next myRow

.Close
End With

Next

Set FSO = Nothing
End Sub
(エンディミオン) 2016/06/20(月) 17:12


bufという変数の後ろにスペースを付けているので、これが出力されているだけですね。どこにもTAB文字を書いていないので、このコードでTAB区切りになるはずがありません。

bufへの空白追加は止め、bufにJoinする際、結合文字にvbTab を指定してみてください。

    buf(i) = myRow.Cells(i).Text
    buf2 = Join(buf, vbTab)
(???) 2016/06/20(月) 17:29

???様

ありがとうございます。無事実行することだできました。
””の中にタブを指定しても半角スペースが増えるだけでなかなかvbtabというものにたどり着けませんでした。非常に助かりました。

(エンディミオン) 2016/06/20(月) 17:52


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.