【Excel】横の表定義からSELECT文作成

横向けになっている表定義からSELECT文を作成します。
INSERT文の時とは異なり、sqlplusで実行できるようファイル出力しています。

また、sqlplusでSELECT文を実行するとVARCHAR2、CHARのどちらでもスペース埋めされて
結果が確認し難いので、項目ごとをパイプで結合して出力しています。
この辺sqlplusのオプションで解決出来るようにして欲しいです。
Oracleのカテゴリでも記載しましたが、「SET TRIMSPOOL ON」は行末だけという。

前提条件はコメントに記載の通り。
※DATE型に対するTO_DATEは手動。

Sub SqlSelectCreate()
'
' SqlSelectCreateYoko Macro
'
' テーブル名、項目名からSELECT文を自動生成します。
'
' A1:テーブル名
' A2~C2:項目名(論理名)
' A3~C3:項目名(物理名)
' A4~C4:型
' A5~C5:サイズ
' 上記状態の時にマクロを実行する。(テーブル名、項目名(論理名)、型を利用します。)

    ' SQL文用変数を宣言する。
    Dim sql As String
    Dim sqlSelect As String
    Dim sqlColumn As String
    Dim sqlFrom As String

    sqlSelect = "SELECT "

    Dim i As Long
    Dim MaxCol As Long
    MaxCol = Range("A2").End(xlToRight).Column

    For i = 1 To MaxCol Step 1
        Cells(2, i).Activate
        sqlColumn = sqlColumn & ActiveCell.Value & " || '" & Chr(9) & "' || "
    Next i

    sqlColumn = Left(sqlColumn, Len(sqlColumn) - 10)

    sqlFrom = " FROM " & Cells(1, 1).Value & ";"

    sql = sqlSelect & sqlColumn & sqlFrom

    Open "D:/select_" & Cells(1, 1) & ".sql" For Output As #1
    Print #1, "set autotrace off"
    Print #1, "set echo off"
    Print #1, "set timing on"
    Print #1, "set time off"
    Print #1, "set termout off"
    Print #1, "set feedback 1"
    Print #1, "set colsep '" & Chr(9) & "'"
    Print #1, "set pagesize 30000"
    Print #1, "set linesize 30000"
    Print #1, "set trimspool on"
    Print #1,
    Print #1, "col PLAN_PLUS_EXP Format a200;"
    Print #1,
    Print #1, "spool select_" & Cells(1, 1) & ".log;"
    Print #1,
    Print #1, "prompt ======================"
    Print #1, "prompt; データ取得"
    Print #1, "prompt ======================"
    Print #1, sql
    Print #1,
    Print #1, "set autotrace off"
    Print #1, "spool off;"
    Close #1

End Sub