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
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==)
コメント