|
▼まい さん:こんにちは。
>今度は、末尾[BS]となっているファイルを順番にエクセルに読み込んでいく…という動作をさせたいと思っています。
Excelのバージョンはいくつでしたっけ?
Excel2002以降ですと、FileDialogを使って *BS.txt といった
ファイル名の選択が可能ですよ
Sub Try1()
With Application.FileDialog(msoFileDialogFilePicker)
.Filters.Clear
.Filters.Add "テキストファイル", "*.txt;*.csv"
.InitialFileName = "C:\Temp\*BS.txt" 'ワイルドカード付きファイル名
.AllowMultiSelect = True
.Title = "ファイル選択(複数選択可)"
If .Show Then 'ダイアログ実行し、複数ファイルが選択された時
ファイルを新規シートに書き出す .SelectedItems
Else
Exit Sub
End If
End With
End Sub
Private Sub ファイルを新規シートに書き出す(fList)
Dim WS1 As Worksheet
Dim myTxt
'シートの追加
Set WS1 = Worksheets.Add(before:=Worksheets(1))
WS1.Name = "txtData"
For Each myTxt In fList
'以下、実際にテキストをシートに読み込む処理を記述するわけですが、
' OpenステートメントでA列に書き出しておいて
' あとからTextToColumnsで複数列に分割するのは
' 二重手間なので、
' ここは 代わりに、
'
' 一般機能の [データ] - [外部データの取り込み]
' -[テキストファイルのインポート]
' から、テキストファイルをそのシートに
' ・カンマ区切り
' ・3列目のデータ型を「2(文字列)」に
' など指定して取り込む操作のマクロ記録を参考にされたら
' よろしいかと思います。
Next
End Sub
|
|