やりたい事
- Excel の VBA でテキストを保存する。
下準備
エクセルを起動 → [alt] + [F11] → [ツール] → [参照設定] → 下記にチェックを入れる → [OK]
[ファイル] → [名前を付けて保存] → [Excel マクロ有効ブック (*.xlsm)] を選択 → 任意のファイル名を入力 → [保存]
VBA スクリプト
data.txtに保存するサンプル。
Sub test()
Dim wks As String
Dim filename As String
wks = "Test"
filename = "data.txt"
Call SaveAsText(filename, wks)
End Sub
Sub SaveAsText(filename As String, d As String)
'Microsoft ActiveX Data Objects 6.1 Library
Dim output As ADODB.Stream
Set output = New ADODB.Stream
With output
.Type = adTypeText
.Charset = "UTF-8"
.LineSeparator = adLF
.Open
End With
output.WriteText d, adWriteLine
output.SaveToFile filename, adSaveCreateOverWrite
output.Close
End Sub
実行方法
[開発] → [マクロ] → [test] → [実行(R)]
メモ
- xlsm 形式で保存をしないと、次に読み込んだ時にマクロが消える。
- ファイルはドキュメント直下に作成される。変更したい場合はファイル名をフルパスで指定する事。