もめんの格闘日記

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

【PowerPointマクロ】ファイルの操作(開く、閉じる、保存等)

今回はファイル操作について書きたいと思います。

関数の使い方を列挙していますが、引数はよく使うであろうものだけを記載しているので、詳しく知りたい方はMSDNとかで調べて下さい。

今回はシンプルなものばかり載せているので、"ファイル選択ダイアログ"や"名前を付けて保存ダイアログ"を使用するFileDialogについては載せていません。

FileDialogについての過去記事もちょっとありますので、この記事の最後の方にあるリンクを参考にして下さい。

では、どうぞ。

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

 

プレゼンテーションファイルを開く

 Presentations.Open "ファイル名", msoFalse

ファイル名はC:\~のように全パスが必要になります。

2つ目の引数は読み取り専用かを設定できます。msoTrueで読み取り専用になります。省略可。

 

プレゼンテーションを新規作成

 Presentations.Add

白紙のプレゼンテーションが新規作成されます。

 

プレゼンテーションファイルを保存

 ActivePresentation.Save

選択させているプレゼンテーションを保存します。

既に保存されているファイルは上書き保存。

保存されていないプレゼンテーションは"プレゼンテーション1"等の仮で付けられている名前で保存される。保存場所はマイドキュメントか操作しているファイルの場所辺りになると思います。

 

プレゼンテーションファイルを名前を付けて保存

 ActivePresentation.SaveAs "ファイル名", ppSaveAsDefault

ファイル名とファイル形式を指定して保存できます。

ファイル名はC:\~等のフルパスが必要です。ファイル名のみの場合はマイドキュメント等に保存されます。

2つ目の引数はファイル形式で、省略可。ppSaveAsDefaultまたは省略で実行するとpptx形式で保存されます。

ファイル形式については、また別の機会に詳しく書きたいと思います。

 

プレゼンテーションファイルを閉じる

 ActivePresentation.Close

選択されているプレゼンテーションを保存せずに閉じます。

変更されていても何も聞かずに閉じます。

 

プレゼンテーションファイルの保存場所を取得する

 ActivePresentation.Path

選択されているプレゼンテーションの保存場所(String)を返します。

以下のように使うと変数に保存場所を入れることができます。

 Dim a As String

 a = ActivePresentation.Path

取得した保存場所に"\ファイル名"を足せば同じフォルダ内にファイルを保存できます。

 ActivePresentation.SaveAs  a & "\ファイル名"

 

プレゼンテーションが変更されているかを確認する

 ActivePresentation.Saved

選択されているプレゼンテーションが最後に保存されてから変更されていればmsoTrueを返します。

以下の様にIf文の中で使うといいと思います。

 If ActivePresentation.Saved = msoFalse  Then  ActivePresentation.Save

 

 

紹介するメソッド、プロパティは以上です。

ファイルの保存や開く際のファイル名は、C:\~の様に長いパスを入れる必要になりますので、PathやFileDialogを使ってパスを取得すると楽だと思います。

FileDialogに関する記事もありますので、よかったら参考にして下さい。

【PowerPointマクロ】選択したJPEGファイルをスライドの中心に貼るマクロ

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

 

保存する際にマイドキュメントやデスクトップを選択したい場合は下記サイトさんを参照して下さい。

Office TANAKA - Excel VBA Tips[特殊フォルダを取得する]

 

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

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