はじめに
ExcelVBAでは、簡単にテキストファイルを書き出す事が出来ます。
ただし、文字コードは、S-JIS で、改行コードは、CRLF になります。
プログラム
Sub myWriteText()
Dim filename As String
filename = ThisWorkbook.Path & "\output.txt"
Open filename For Output As #1
Print #1, "あいうえお"
Print #1, "かきくけこ"
Close #1
End Sub
やり方としては、以下のようにしてテキストファイルをオープンします。
Open テキストファイル名 For 書込み方式 As #ファイル番号
指定したテキストファイルが無ければ作ってくれます。
書込み方式は、以下の2つがあります。
Output 上書き
Append 追記
#ファイル番号は、これから扱うファイルに番号を割り振ったものです。
通常は、「#1」と書いておけばOKです。
ファイルに書き込むには以下のようにします。
Print #ファイル番号, 文字列
これは、一行分の書き込みになります。
最後にテキストファイルを閉じます。
Close #テキスト番号
これで一連の流れは終わりです。簡単ですね。
上記のプログラムでは、ブックと同じフォルダに output.txt というファイルを作って、以下のように書き込まれます。
文字コードは、S-JIS で、改行コードは、CRLF です。変更はできません。
シートの内容をテキストとして書き出す
A列をまとめて書き出したければ、以下のようになります。
セルの値を渡していけばOKです。
Sub myWriteTextColA()
Dim i As Long
Dim filename As String
filename = ThisWorkbook.Path & "\output.txt"
Open filename For Output As #1
With ActiveSheet
For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
Print #1, .Cells(i, "A")
Next i
End With
Close #1
End Sub

シートの値が上記のような場合、A列を書き出すと以下のようになります。

CSVファイルとして書き出す
CSVファイルは、カンマ区切りしたテキストファイルなので、カンマを追加しながら書き出せばCSVファイルとなります。
その際、ファイル名の拡張子は csv とします。
Sub myWriteCSV()
Dim i As Long
Dim filename As String
filename = ThisWorkbook.Path & "\output.csv"
Open filename For Output As #1
With ActiveSheet
For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
Print #1, .Cells(i, "A") & "," & _
.Cells(i, "B") & "," & _
.Cells(i, "C") & "," & _
.Cells(i, "D")
Next i
End With
Close #1
End Sub
出来上がった、CSVファイルは、文字コード:S-JIS 、改行コード:CRLF になります。
最近では、文字コード UTF-8 が標準的に扱われているようですが、Excel間でやり取りするのであれば特に問題ないでしょう。
CSVファイルはExcelで直接開く事が出来ますが、テキストエディタで開いた状態は以下のようになっています。最初のシートをCSVファイルとして書き出した例です。

まとめ
Excelの内容をテキストファイルに書き出す時、文字コード:S-JIS 、改行コード:CRLF で良いのであれば簡単です。
文字コード UTF-8 にしたい場合は、”ADODB.Stream”というライブラリを読み込む必要があります。
方法については以下のページを参照してください。
・UTF-8のテキストファイルを扱う