ファイルを開くダイアログを表示して、ファイルフルパスを取得します。複数ファイルを選択可能です。
関数概要
- 関数名: FNCGetOpenFilePathMulti
- 入力引数; P_IN_InitialFilePath ( String 型) : ファイルを開くダイアログの初期フォルダを指定します。
- P_IN_FiltersName ( String 配列型) : 開くファイルの種類をフィルタリングする名前を指定します。
- P_IN_FilterExt ( String 配列型) : 開くファイルの種類をフィルタリングする拡張子を指定します。
- 出力引数: P_OUT_OpenFilePath ( String 配列型) : ダイアログで選択されたファイルのフルパスが設定されます。
- 返り値:リターンコードが返却されます。
実行例
- 準備中
ダウンロード
UsefulEdgeではよく使うVBA処理を共通クラスとして提供しています。
以下からダウンロードが可能です。
使用方法
- 準備中
ソースコード
'-----------------------------------------------------------------
' ファイルを開くダイアログを使用して複数ファイルパスを取得する
'-----------------------------------------------------------------
Function FNCGetOpenFilePathMulti(P_IN_InitialFilePath As String, P_IN_FiltersName() As String, P_IN_FilterExt() As String, ByRef P_OUT_OpenFilePath() As String) As Integer
On Error GoTo ErrorHandler
FNCGetOpenFilePathMulti = Me.ReturnError
Dim ObjFileDialog As Object
Dim StrFileName() As String
Dim i As Integer
Set ObjFileDialog = Application.FileDialog(msoFileDialogOpen)
ObjFileDialog.InitialFileName = P_IN_InitialFilePath
ObjFileDialog.Filters.Clear
For i = 0 To UBound(P_IN_FiltersName)
ObjFileDialog.Filters.Add P_IN_FiltersName(i), P_IN_FilterExt(i)
Next i
ObjFileDialog.FilterIndex = 1
ObjFileDialog.AllowMultiSelect = True
If ObjFileDialog.Show Then
For i = 1 To ObjFileDialog.SelectedItems.Count
ReDim Preserve StrFileName(i)
StrFileName(i) = ObjFileDialog.SelectedItems(i)
Next i
FNCGetOpenFilePathMulti = Me.ReturnNomal
Else
FNCGetOpenFilePathMulti = Me.ReturnWarning
End If
P_OUT_SaveAsFilePath = StrFileName()
Exit Function
ErrorHandler:
MsgBox Err.Number & ":" & Err.Description, vbCritical, "エラー"
FNCGetOpenFilePathMulti = Err.Number
Exit Function
End Function
ソースコード説明
- 準備中
ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]
価格:1944円(税込、送料無料) (2019/7/23時点)
楽天で購入
](https://hb.afl.rakuten.co.jp/hgc/156e5f8f.d5d194cd.156e5f90.9ce91fc7/?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F14714310%2F%3Fscid%3Daf_pc_bbtn&m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F18413544%2F%3Fscid%3Daf_pc_bbtn&link_type=picttext&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJwaWN0dGV4dCIsInNpemUiOiIyNDB4MjQwIiwibmFtIjoxLCJuYW1wIjoicmlnaHQiLCJjb20iOjEsImNvbXAiOiJkb3duIiwicHJpY2UiOjEsImJvciI6MSwiY29sIjoxLCJiYnRuIjoxfQ==)
コメント