Excel/VBAでスペース区切り出力する

| 2008年6月16日月曜日
 Excelで固定長でTextファイルで保存する際に、.prn(スペース区切り)で保存すると、Excelの仕様で240文字までしか一行で出力できなかったので、簡単なスペース区切りができるマクロを作成してみました。
 かなり適当に作ってあります。
 範囲指定は「A1:H10」のような感じで入力してください。
 ファイル名は、元ファイルと同じ場所で、シート名.txtで保存されます。

--- 以下 コード ---

Sub SpaseSeparatedValues()
Dim i, j As Integer

Dim fileName As String
fileName = ActiveWorkbook.Path & "\" & ActiveSheet.Name & ".txt"

Dim scope As String
scope = InputBox("スペース区切りで出力したい範囲をしていしてください。", "SpaseSeparatedValues")

Dim data As Variant
data = Range(scope)

Dim fileNo As Integer

fileNo = FreeFile()
Open fileName For Output As #fileNo

Dim printLine As String

For i = 1 To UBound(data)
printLine = ""
For j = 1 To UBound(data, 2)
printLine = printLine & data(i, j) & Space(Int(Cells(i, j).ColumnWidth) - Len(data(i, j)))
Next
Print #fileNo, printLine
Next
Close #fileNo
End Sub