根本的な所は、ファイルを開くダイアログと同じ
ファイルを保存する ダイアログを表示方法は基本的にファイルを開くダイアログと同じ。違うのは、OPENFILENAME 構造体のメンバ flag に指定する定数とAPI関数の宣言である。API関数は以下の通り。 Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (ByRef pOpenfilename As OPENFILENAME) As Long
例によって、プレビュー付きもある。 Private Declare Function GetSaveFileNamePreview Lib "msvfw32.dll" Alias "GetSaveFileNamePreviewA" (ByRef pOpenfilename As OPENFILENAME) As Long で、関数。
'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ' 機 能:ファイルを保存するためのダイアログボックスを表示し、ファイル名、または ' ファイルのフルパスを返す ' 引 数:(i) hWnd … 呼び出す側のウインドウハンドル ' (i) RetMode … 0:ファイルのフルパスを返す ' 1:ファイル名を返す ' (i) Filter … 拡張子設定のフィルタ (省略可能) ' (i) InitialDir … ディレクトリ指定 (省略可能) ' (i) DialogTitle … ダイアログボックスのタイトル (省略可能) ' 返り値:ファイル名、またはファイルのフルパス キャンセル:空文字 '=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Public Function GetSaveFilePath(ByVal hwnd As Long, _ ByVal RetMode As Integer, _ Optional ByVal Filter As String = "すべてのファイル (*.*)" & vbNullChar & "*.*" & vbNullChar, _ Optional ByVal InitialDir As String = "", _ Optional ByVal DialogTitle As String = "ファイルを名前を付けて保存する") As String
|