| 
    
     |  | Workbook.OpenText関数で100本程度の.txtファイルをExcelに変換しようとしています。表示書式を各列それぞれ(標準/文字列)を設定したいのです。 VBAの引数でFieldInFoの指定は
 FieldInFo:=Array(第1カラムの形式,第2カラムの形式,.....)となっています。
 予めOpenするTextファイルの列の数だけ直接VBAのソースコードを記入する方式です。このためそれぞれ列数、表示形式が異なる場合は都度人が記入せざるを得ません。
 何とかプログラム実行時に動的に実行する方法はないのでしょうか。
 下記のようにすればFieldInFoの部分はすっきりしましたが
 肝心のArray関数の要素の追加ができなくて困っています。
 Option Base 1
 Sub Array関数のテスト()
 Dim A()   As Variant
 Dim B    As Variant
 'C:\a.txtの内容
 '一行目 "1",2,3
 '二行目 "B",4,5
 '三行目 "山",6,7
 iMax = 3
 ReDim Preserve A(iMax)
 A(1) = Array(1, 2) '文字列
 A(2) = Array(2, 1) '標準
 A(3) = Array(3, 2) '文字列
 B = Array(A(1), A(2), A(3))
 
 Workbooks.OpenText Filename:="C:\a.txt", startRow:=1, DataType:=xlDelimited, _
 TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
 Semicolon:=False, Comma:=True, Space:=False, Other:=False, _
 Fieldinfo:=B
 
 End Sub
 以上よろしく願います
 
 
 |  |