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

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

関数概要

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

実行例

  • 準備中

ダウンロード

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

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

UEVBACommonClass.cls

使用方法

  • 準備中

ソースコード


'-----------------------------------------------------------------
' ファイルを開くダイアログを使用してファイルパスを取得する
'-----------------------------------------------------------------
Function FNCGetOpenFilePath(P_IN_InitialFilePath As String, P_IN_FiltersName() As String, P_IN_FilterExt() As String, P_OUT_OpenFilePath As String) As Integer
On Error GoTo ErrorHandler
    FNCGetOpenFilePath = 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 = False
    If ObjFileDialog.Show Then
        StrFileName = ObjFileDialog.SelectedItems(1)
        FNCGetOpenFilePath = Me.ReturnNomal
    Else
        FNCGetOpenFilePath = Me.ReturnWarning
    End If
    P_OUT_OpenFilePath = StrFileName
    Exit Function
ErrorHandler:
    MsgBox Err.Number & ":" & Err.Description, vbCritical, "エラー"
    FNCGetOpenFilePath = Err.Number
    Exit Function
End Function

ソースコード説明

  • 準備中
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]
価格:1944円(税込、送料無料) (2019/7/23時点)

返信を残す

メールアドレスが公開されることはありません。