スポンサーリンク

Powerpoint VBA でブログ画像作成用のフォルダ・ファイルの作成、保存作業を自動化する


私はブログでよく画像を使います。

写真をそのまま載せることもありますが、だいたいは何かしらの編集をしております。

そして、画像の編集には Powerpoint(パワーポイント) を使用しています。

Powerpoint は言わずと知れたプレゼン用のソフトですが、ブログ用の画像の編集にも十分使えます。

矢印を入れたり、資格で囲ったり、文字を追加したりということができますので。

ブログ画像の編集

スポンサーリンク

1、テンプレートファイルを作成しておく

ブログ用の画像編集は頻繁に行うので Powerpoint ファイルのテンプレートを作っています。

以前こちらの記事で紹介致しました↓

私が自作したテンプレートファイルは以下のようなもので、最初から 10枚のスライドを準備しておき、画像編集のためによく使う記号(矢印、四角、丸)を各スライドに入れ込んであります。

テンプレート

テンプレートの作り方は、

まず、Powerpointで新規ファイルを開いてファイルの中身を作りこみます。私の場合は上記のものを作ってあります。

ファイルができたら「名前を付けて保存」を選択します(Ctrl + S でも可)。

保存場所として、「Documents」の中の「Office のカスタムテンプレート」を選択します。

次にファイル名を入力し、ファイルの種類で「 PowerPoint テンプレート(*.potx)」を選択して保存します。

私は「ブログ用画像編集テンプレート.potx」と名付けて保存してありました。

このようにしておけば、次に Powerpoint を起動した際には、自作のテンプレートを選択できるようになります。

次の図に示した手順①②です。

テンプレートの選択

こうすることで、最初からよく使う記号(矢印、四角、丸)が入ったスライド上で作業を開始することができます。

まず言いたいこととしましては

日頃 Powerpoint を同じ目的で何回も使う人は、テンプレートを作っておくことをお勧めします。

2、フォルダの作成・ファイルの保存作業を楽にするためのマクロ(Powerpoint VBA)

さて、今日は自分自身が日頃のブログ用の画像編集のために Powerpoint を使ううちに、手間を省きたいと思い、

VBA を使って作業改善をしましたのでその点をお話しします。

ブログ記事のためのフォルダ・ファイルの管理

私はブログのために Powerpoint や Excel を使う場合には、これらソフトのファイルを1記事につき1つのフォルダに保存するようにしています。

「ブログ」という名前のフォルダを作ってあり、その中に日々の記事ごとのフォルダを作って各ファイルを保存しています。

それがベストの管理かどうかは別として、現状そのようにしています。

フォルダ・ファイル管理

個々の記事のフォルダの名前は先頭に6桁の日付を付けています。

2018年6月12日であれば「180612」と付けます。

そしてその後に、ブログの中身と関連がある名前を付けるようにしています。

こんな感じにです↓

「180612 UiPath と UWSC の比較、メモ帳」

そして、その中に保存する Powerpoint ファイル名も同じ名前にしています。

フォルダ名・ファイル名

なお日付については、スニペットツールである PhraseExpress を用いて「ymd」と入力すればその日の日付を6桁で表示するように設定してあります。こうしておけば、いちいち確認して入力する必要はありません。

面倒なフォルダ作成とファイルの保存作業

さて、画像を Powerpoint で編集するために先に説明したテンプレートを使うわけですが、

毎回ファイルを「名前を付けて保存」するために保存先のフォルダを選択する作業をする必要があります。

名前を付けて保存

私は Dropbox を使っていますが、フォルダをたくさん使う方なので保存場所を指定する作業の際に「どこだったっけ?」と場所を探さなければならないことがあります。

その探す作業にイライラすることがあったので、これを省きたいと思いました。

そして、Powerpoint ファイルを作成する前にフォルダを作成していないこともあります。

その場合には、先に Powerpoint ファイルをデスクトップなどの適当な場所に保存しておいて、後でフォルダを作成してからフォルダ内に移動させることがありました。

それも面倒だと思うようになりました。

VBA を使った仕組み

そこでマクロ(VBA) を使ってフォルダ・ファイルの作成と保存の作業を短縮す仕組みを作りました。

スライドの中身は先に示したもの(拡張子 .potx)と同じく、記号(矢印、四角、丸)を入れ込んだスライドを10枚作っておきます。

マクロを入れ込むことができるテンプレートとするためには、拡張子を「.potm」として「Documents」の中の「Office のカスタムテンプレート」に保存しておく必要があります。

さて、今回の仕組みを使った場合作業的には

Powerpoint のテンプレートを開いてマクロ(VBA)を実行すればボックスが出きて、そこにフォルダ名を入力するだけで済みます。

これで↑

・フォルダ名とファイル名を両方付ける作業

・保存先のフォルダを探しながら選択する作業

は無くなります。

劇的にとはいかなかったものの、若干楽になりました。

以下に流れを書きます。

(1)Powerpoint 上で Alt + F8 を押してマクロを選択して実行

作成するマクロは1つだけ(詳細は後ほど説明)なので、これを選択して実行します。

マクロ実行

マクロの実行にショートカットキーを割り当てることができれば良かったのですが、Excel や Word と異なり Powerpoint の場合標準ではできなそうです。
(色々手間がかかりそうなのでやりませんでした。)

(2)インプットボックスにフォルダ名を入力

マクロを実行するとインプットボックスが出てくるので、ここにフォルダ名を入力します。

インプットボックス入力

①既にフォルダを作成してある場合

既にフォルダを作成してある場合は、そのフォルダ名を入れます。

フォルダの上で F2 を押してから Ctrl + C を押せばフォルダ名をコピーできます。

フォルダ名コピー

それをそのままインプットボックスに貼り付け(Ctrl + V)ます。

インプットボックスに貼り付け

そうして「OK」を押せば、そのフォルダの中にフォルダ名と同じ名前のファイルができあがってきます(拡張子は .pptm)。

ファイル生成

②フォルダを作成してない場合

フォルダを作成してない場合、インプットボックスに作成したいフォルダ名を入れます。

インプットボックス入力

そうすればその名前のフォルダが作成され、さらにそのフォルダの中にフォルダ名と同じ名前のファイルができあがってきます(拡張子は .pptm)。

フォルダ生成

ファイル生成

3、VBA コード

Alt + F11 で VBE(エディタ)を起動させて VBA コードを書き込みます。

今回の VBA コードの内容を以下に示します。

標準モジュール内に1つのプロシージャ「New_Save」を作ってあります。

全VBA コード

コード説明

上記コードについて、説明します。

エラーを無視

冒頭で以下のように記述することでエラーが発生しても無視するので止まることはありません。

On Error Resume Next

InputBox 関数

InputBox 関数は入力用のボックス(インプットボックス)を表示させる関数です。

以下のように記述します。

InputBox(“表示されるメッセージ”)

表示されるメッセージとして今回は「フォルダ名を入力してください」と入れてます。

そして、

Folder_Name = InputBox(“フォルダ名を入力してください”)

の部分で入力したフォルダ名を変数 Folder_Name に入れています。

なお、インプットボックスでキャンセルボタンが押された場合には空白(””)を返します。

Image(16)

今回の場合、変数 Folder_Name に空白(””)が入ることになります。

この部分↓

If Folder_Name = “” Then Exit Sub

では、キャンセルボタンが押されたら(変数 Folder_Name が空白だったら)、コードの実行を終了するようにしています。

Dir 関数

Dir 関数はフォルダやファイルが存在するか否か確認する関数です。

フォルダの存在を確認する場合は以下のように記述します。

Dir(フォルダの絶対パス, vbDirectory)

フォルダ名を絶対パスで指定しなければならないので注意しましょう。

フォルダが

●存在する場合は「フォルダ名」を返し

●存在しない場合は「空白(””)」を返します

MkDir 関数

MkDir 関数は指定したフォルダを作成する関数です。

以下のように記述して使います。

MkDir フォルダパス(フォルダ名)

単にフォルダ名を入力した場合は(フォルダパスではなく)現在のフォルダの下に入力した名前のフォルダができ上がってきます。

SaveAs メソッド

名前を付けて保存を行うメソッドです。

以下のように記述して使います。

オブジェクト.SaveAs ファイルのパス

今回はオブジェクトとしてアクティブなパワポファイルを表す ActivePresentation を指定しています。

ファイルパスはインプットボックスに入力したフォルダの中にフォルダ名と同じファイル(拡張子 .pptm)が作成されるようにしていしています。

ActivePresentation.SaveAs Folder_Path & “\” & Folder_Name & “.pptm” ‘名前を付けて保存’

4、まとめ

Powerpoint(パワーポイント)VBA でフォルダ・ファイルの作成・保存作業を自動化する方法を説明しました。

当初期待していたほどではないにしても、若干作業時間が短縮できてストレスも軽減できました。

もしよろしければ参考にして下さい。