【VBA】 ファイルを開くダイアログを使用して複数ファイルパスを取得する

ファイルを開くダイアログを表示して、ファイルフルパスを取得します。複数ファイルを選択可能です。

関数概要

  • 関数名: FNCGetOpenFilePathMulti
  • 入力引数; P_IN_InitialFilePath ( String 型) : ファイルを開くダイアログの初期フォルダを指定します。
  • P_IN_FiltersName ( String 配列型) : 開くファイルの種類をフィルタリングする名前を指定します。
  • P_IN_FilterExt ( String 配列型) : 開くファイルの種類をフィルタリングする拡張子を指定します。
  • 出力引数: P_OUT_OpenFilePath ( String 配列型) : ダイアログで選択されたファイルのフルパスが設定されます。
  • 返り値:リターンコードが返却されます。

実行例

  • 準備中

ダウンロード

UsefulEdgeではよく使うVBA処理を共通クラスとして提供しています。

以下からダウンロードが可能です。

UEVBACommonClass.cls

使用方法

  • 準備中

ソースコード

    '-----------------------------------------------------------------
    ' ファイルを開くダイアログを使用して複数ファイルパスを取得する
    '-----------------------------------------------------------------
    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==)

コメント

タイトルとURLをコピーしました