Microsoft Excel VBA - ファイルを保存するダイアログボックスを使う方法

◆概要

このページは、Excel VBAでファイルを保存するダイアログボックスを使う方法について記載しています。


GetSaveAsFilenameメソッドは、Excelで使用される「名前を付けて保存」ダイアログボックスを表示します。ユーザーによって保存するファイル名の入力があると、メソッドの戻り値としてそのファイル名をドライブ名を含むフルパスで返してきます。また、ダイアログボックスの[キャンセル]ボタンが押されると、"False"を返してきます。


GetOpenFilenameと引数に違いがあるので注意してください。GetSaveAsFilenameメソッドでは、最初に引数「InitialFilename」が追加されています。この引数には、「名前を付けて保存」ダイアログボックスが表示された時点で、あらかじめ「ファイル名」の欄に表示しておくファイル名を設定します。


引数「FileFilter」は、GetOpenFilenameメソッドとまったく同じ使い方をします。あらかじめダイアログボックスに表示するファイルの種類を指定したい場合に使用します。

◆Sample code
次の例は、「名前を付けて保存」ダイアログボックスを表示し、入力されたファイル名をメッセージボックスで表示します。ダイアログボックスにはあらかじめ「MyBook.xls」というファイル名を設定しておき、「ファイルの種類」リストボックスには2種類のファイルフィルタを指定します。 入力されたファイル名は、拡張子をつけなくても、自動的に設定されたファイルフィルタの拡張子が付加されて、メソッドの戻り値として返されてきます。

Sub ShowSaveAsFilename()

    Dim Ret As Variant

    Ret = Application.GetSaveAsFilename("myBook.xls", _
        "Excelブック(*.xls),*.xls," & "テキストファイル(*.txt),*.txt")

    If Ret = False Then
        MsgBox "キャンセルが選択されました"
    Else
        MsgBox Ret & "が入力されました。"
    End If
End Sub
  



▼ページトップへ