Excel VBA ダイアログ表示から複数のファイルを選択してループで開く

ダイアログを起動させて、ファイルを複数選択して
For Each ~ In .SelectedItemsでループさせ
フルパスファイル名からブック名を取りファイルを開きます。
'-------------------------------
Option Explicit
Sub Select_multi_ファイル()

Dim var_fname As Variant
Dim var_bookname As Variant
Dim strPrompt As String
Dim str_rtn As String
Dim FSO As New Scripting.FileSystemObject

'ファイル選択のダイアログ起動

With Application.FileDialog(msoFileDialogFilePicker)
.Show
.Filters.Clear
.AllowMultiSelect = True
.ButtonName = "選択"
.Title = "ファイル選択(複数ファイル可)"

'ファイルのシステムのオビジェクト生成

Set FSO = CreateObject("Scripting.FileSystemObject")

'選択ファイルをループで処理


'(引数「var_fname」)でファイル名フルパスで取得

For Each var_fname In .SelectedItems
strPrompt = var_fname & Chr(13)

'フルパスファイル名からブック名取得

var_bookname = FSO.GetBaseName(var_fname)
Workbooks.Open (var_fname)
str_rtn = MsgBox("ファイルを閉じますか", vbYesNo, vbQuestion)
If str_rtn = vbYes Then
MsgBox var_bookname
Windows(var_bookname & ".xls").Close , True
ElseIf str_rtn = vbNo Then
MsgBox "キャンセルされました"
End If
Next
End With

End Sub
'-------------------------------





SW-MOTECH SW-モテック QL プロファイル キャリアー (GIVI V35用)
ウェビック 楽天市場店
●商品番号:KFT.01.624.150●YAMAHA ●XL1000 V VARADERO 07

楽天市場 by SW-MOTECH SW-モテック QL プロファイル キャリアー (GIVI V35用) の詳しい情報を見る / ウェブリブログ商品ポータル




"Excel VBA ダイアログ表示から複数のファイルを選択してループで開く" へのコメントを書く

お名前
ホームページアドレス
コメント