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

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

--- 以下 コード ---
  1. Sub SpaseSeparatedValues()  
  2.   Dim i, j As Integer  
  3.   
  4.   Dim fileName As String  
  5.   fileName = ActiveWorkbook.Path & "\" & ActiveSheet.Name & ".txt"  
  6.   
  7.   Dim scope As String  
  8.   scope = InputBox("スペース区切りで出力したい範囲をしていしてください。""SpaseSeparatedValues")  
  9.   
  10.   Dim data As Variant  
  11.   data = Range(scope)  
  12.   
  13.   Dim fileNo As Integer  
  14.   
  15.   fileNo = FreeFile()  
  16.   Open fileName For Output As #fileNo  
  17.   
  18.       Dim printLine As String  
  19.      
  20.       For i = 1 To UBound(data)  
  21.           printLine = ""  
  22.           For j = 1 To UBound(data, 2)  
  23.               printLine = printLine & data(i, j) & Space(Int(Cells(i, j).ColumnWidth) - Len(data(i, j)))  
  24.           Next  
  25.           Print #fileNo, printLine  
  26.       Next  
  27.   Close #fileNo  
  28. End Sub