VBA で名前をつけて保存ダイアログを使用し、ファイル保存先のフルパスを取得する関数です。
関数概要
- 関数名: FNCGetSaveAsFilePath
- 入力引数; P_IN_InitialFilePath : ダイアログ表示時の初期フォルダのパスを指定します。
- 出力引数: P_OUT_SaveAsFilePath : 保存先ファイルのフルパスが設定されます。
- 返り値:リターンコードが返却されます。
実行例
- P_IN_InitialFilePath で指定したフォルダを初期表示として、名前をつけて保存ダイアログを表示します。
- ファイル保存先のフルパスが P_OUT_SaveAsFilePath に設定して関数を終了します。
ダウンロード
UsefulEdgeではよく使うVBA処理を共通クラスとして提供しています。
以下からダウンロードが可能です。
使用方法
Dim UEVBA as UEVBACommonClass
UEVBA = new UEVBACommonClass
Dim SaveFilepath As String
If UEVBA.FNCGetSaveAsFilePath("c:\", SaveFilepath) <> UEVBA.ReturnNormal Then
Err.Raise Number:=8, Description:="FNCGetSaveAsFilePath Error"
End If
MsgBox(SaveFilepath)
ソースコード
'-----------------------------------------------------------------
' 名前をつけて保存ダイアログを使用してファイルパスを取得する
'-----------------------------------------------------------------
Function FNCGetSaveAsFilePath(P_IN_InitialFilePath As String, P_OUT_SaveAsFilePath As String) As Integer
On Error GoTo ErrorHandler
FNCGetSaveAsFilePath = Me.ReturnError
Dim ObjFileDialog As Object
Dim StrFileName As String
Set ObjFileDialog = Application.FileDialog(msoFileDialogSaveAs)
ObjFileDialog.InitialFileName = P_IN_InitialFilePath
If ObjFileDialog.Show Then
StrFileName = ObjFileDialog.SelectedItems(1)
FNCGetSaveAsFilePath = Me.ReturnNomal
Else
FNCGetSaveAsFilePath = Me.ReturnWarning
End If
P_OUT_SaveAsFilePath = StrFileName
Exit Function
ErrorHandler:
MsgBox Err.Number & ":" & Err.Description, vbCritical, "エラー"
FNCGetSaveAsFilePath = Err.Number
Exit Function
End Function
|