Excel VBA:ファイル保存ダイアログの表示|GetSaveAsFilename

ファイル選択ダイアログとペアでよく使うExcel VBAのTipsです。



Homeに戻る > Excel ファイル操作のTipsへ

通常の「名前を付けて保存」になります。

拡張子は fileFilter で指定できます。

書き方は"エクセルファイル (*.xls), *.xls"のように文法がありますので注意が必要です。

ダイアログで「OK」ボタンがクリックされた場合は、そのパス名+ファイル名が戻ります。

「キャンセル」ボタンがクリックされるとなぜか「"False"」の文字列が戻ります。

構文:GetSaveAsFilename InitialFilename, FileFilter, FilterIndex, Title, ButtonText

関連するTipsの「ダイアログでファイルを選択し開く:Excel」も参照してください。


「ファイル保存ダイアログ」プロシージャの作成と実行

コマンドボタン クリックイベントで「ファイル保存ダイアログ」のプロシージャを呼び出します。

Private Sub CommandButton1_Click()
    CommandButton1.Caption = GetSaveFileName
End Sub

ファイル保存ダイアログのExcel標準モジュールコード

GetSaveAsFilenameから「False」が返ると、プロシージャは空文字を返します。

「True]が返ると、選択されたファイル名を返します。


Public Function GetSaveFileName() As String
    Dim sfile As String

    sfile = Application.GetSaveAsFilename(fileFilter:="エクセルファイル (*.xls), *.xls")
    If sfile = "False" Then
        GetSaveFileName = ""
    Else
        GetSaveFileName = sfile
    End If
End Function



ファイル保存ダイアログのExcel標準モジュールコード

実行すると下のダイアログボックスが表示されます。
ファイル保存ダイアログ

Excel実行結果

コマンドボタンに選択したファイル名が表示されています。

ファイル名が表示された



Homeに戻る > Excel ファイル操作のTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved