もめんの格闘日記

主にPowerPointを中心としたPCのTips的なものを書いています。

【PowerPointマクロ】名前を付けて保存するダイアログを開く

今回はPowerPointで名前を付けて保存するダイアログを開くマクロを紹介したいと思います。

~ダイアログとは、ファイルを保存するときにフォルダや名前を決めるときのウィンドウのことです。

名前を付けて保存はSaveAsでもできますが、ダイヤログは開きません。

ダイヤログを開くにはFileDialogを使います。保存以外にもファイルを開くときとかにも使えます。

では早速コードをどうぞ。

(PowerPoint2010で操作確認しています)

 

名前を付けて保存するダイアログを開くマクロ

Sub sample()
    Dim dlg As FileDialog
    Set dlg = Application.FileDialog(Type:=msoFileDialogSaveAs)


    If (dlg.Show = True) Then
      dlg.Execute
    End If
End Sub

実際の動作としては.Showのタイミングでダイヤログが開きます。

.Executeがないと保存ボタンを押しても保存されません。

保存のボタンが押されるとIf文の条件にかかり、.Executeで保存されます。

 

名前を付けて保存ダイヤログで表示される初期フォルダ、ファイル名を変更するマクロ

ダイヤログで表示される初期フォルダを指定することもできます。

Sub sample()

    Dim dlg As FileDialog
    Set dlg = Application.FileDialog(Type:=msoFileDialogSaveAs)
    
    dlg.InitialFileName = "C:\data"
    
    If (dlg.Show = True) Then
      dlg.Execute
    End If

End Sub

アンダーラインのある行の.InitialFileNameで初期フォルダを指定できます。

その名の通り初期ファイル名も指定できます。

Sub sample()

    Dim dlg As FileDialog
    Set dlg = Application.FileDialog(Type:=msoFileDialogSaveAs)
    
    dlg.InitialFileName = "C:\週報" & Format(Date, "yymmdd")
    
    If (dlg.Show = True) Then
      dlg.Execute
    End If

End Sub

これでフォルダ、ファイル名も指定できます。

学生のとき所属ゼミの週報はPowerPointで行っていたので、Dateを使って上記のようなファイル名を指定していれば、楽だったのかも。

Dateはその名の通り、日付を返す関数。

Formatは1つ目の引数の表示形式を指定する関数で、この場合は日付が161201のように入ります。

yyyymmddとすると20161201になります。

様々な使い方ができる関数でして、詳しく知りたい方はformat VBA とかでググってみて下さい。

 

個人的には、初期フォルダ、ファイル名を指定できるのが、気に入っています。

FileDialogは他の使い方があって、まだまだ奥が深いので、また勉強したら記事にします。

今回はこれで終わりです。

ありがとうございました。