はじめろぐ

Powerpoint VBA を使って選択した図を現在のファイルと同じフォルダ内に保存する方法

ブログ記事で図を作成する際には、毎回 Powerpoint を使って編集しています。

Powerpoint はプレゼン用ソフトですが、ブログ用の画像の編集にも使えます。自分が普段やっている画像編集には・写真の加工・図の自作の2つがあります。これらは Powerpoint の基本的な使い方が分かればできることです。今日は、Powerpoint を使ったブログ用の画像の編集方法を紹介したいと思います。1、写真の加工方法サイズ変更スマホで撮影した写真を加工することが多いです。まず、画像を普通にスライドに貼り付けます(画像ファイルを選択して「Ctrl + C」 ⇒ スライドの上で「Ctrl + V」 )。縦横比を変えることなく画像のサイズ...
Powerpoint を用いたブログ用画像の編集の仕方 - My タックスノロジー

毎回同じ作業をすることになるので、作業時間の短縮をする工夫を日々考えています。

Powerpoint アプリをショートカットキー「Ctrl + Shift + P」で起動できるようにしています。

Windows で特定のフォルダ・ファイルをショートカットキーで開くことができます。また、アプリケーションをショートカットキーで起動することもできます。よく使うものであれば、ショートカットキーで開いたり実行できるように設定しておくと便利です。私の場合、最近 Windows 画面上で以下のショートカットキーが使えるように設定しました。・「Ctrl + Shift + B」でブログ用のフォルダが開く・「Ctrl + Shift + E」で Excel アプリが起動・「Ctrl + Shift + P」で Powerpoint アプリが起動・「Ctrl + Shift + K」で Excel の家計簿フ...
Windows で特定のフォルダ・ファイルやアプリをショートカットキーで開く(起動す... - My タックスノロジー

あらかじめよく使う図形(説明用の矢印など)をスライドに入れ込んだテンプレートを作ってあります。

ブログに画像を使う人は多いと思います。私も、記事によってはたくさんの画像を投稿します。投稿する画像の編集にはPowerpoint(パワーポイント)を使うことが多いです。1、Powerpoint(パワーポイント)を使う理由画像編集にはペイントやSkitchを使うこともありますが、ほぼPowerpointで処理しています。その理由を挙げたいと思います。使い慣れているなんといってもこれです!昔からPowerpointで資料を作ることが多かったので、使い勝手がよく分かっており操作がさくさく進みます。1つのファイル内に1つの記事で使う画像を全て入れ...
ブログ(Wordpress)用の画像編集にPowerpoint(パワーポイント)を使う、画像編集... - My タックスノロジー

また、ブログ用のフォルダに保存する作業を簡単に行うマクロ(VBA)を使っています。

私はブログでよく画像を使います。写真をそのまま載せることもありますが、だいたいは何かしらの編集をしております。そして、画像の編集には Powerpoint(パワーポイント) を使用しています。Powerpoint は言わずと知れたプレゼン用のソフトですが、ブログ用の画像の編集にも十分使えます。矢印を入れたり、資格で囲ったり、文字を追加したりということができますので。1、テンプレートファイルを作成しておくブログ用の画像編集は頻繁に行うので Powerpoint ファイルのテンプレートを作っています。以前こちらの記事で紹介致しまし...
Powerpoint VBA でブログ画像作成用のフォルダ・ファイルの作成、保存作業を自動化... - My タックスノロジー

さて、今回よく行う操作の1つである「図として保存」の操作を短縮するマクロ(VBA)を使った仕組みを作りましたので紹介します。

一部他のサイトを参考にさせて頂きました。

スポンサーリンク

1、図として保存

ブログへの画像の投稿

ブログを書くとき、Powerpoint のスライド上の画像をコピーして(Ctrl + C)直接エディタに貼り付ける(Ctrl + V)ことが多いです。

ただ、どうしてもPowerpoint 上の画像を一度画像ファイルに変換して保存してから、Wordpress にアップロードしなければならない場合もあります。

アイキャッチ画像がそうです。

また、ブログの本文を一度エディタから WordPress にアップロードした後に、画像を追加したい場合は Powerpoint のスライド上の画像を直接コピペはできません。

面倒ですが、画像ファイルにして単独でアップロードしなければなりません。

そんなわけで、Powerpoint のスライド上の画像を「図として保存」という機能を使って画像ファイルを作らなければならないことが、まぁけっこうあります。私の場合。

図として保存

Powerpoint の機能の1つである「図として保存」はスライド上の画像を、jpg や png などの画像ファイルとして保存する方法です。

①スライド上の画像(作成したものでも編集したものでも可)を選択

    

②右クリック

    

③「図として保存」を選択

    

④保存先のフォルダを選択

    

⑤ファイル名を付ける

という流れで画像ファイルを作成できます。

さて、上記の保存先のフォルダを選択するところですが、

私の場合、「ブログ」フォルダというブログ用のフォルダを1つ作ってあり、その下に

ブログ1記事ごとに1つのフォルダを作り、使ったファイルなどまとめて保存するようにしています。

先ほどの、「図として保存」で保存先のフォルダを探す(④の操作)のが少々面倒です。

それでイライラすることがあったので、「図として保存」の作業で保存先のフォルダを探さなくて良いようにマクロ(VBA)を使った仕組みを考えました

2、現在アクティブなファイルと同じフォルダ内に図を保存するマクロ(VBA)

画像ファイルとして保存したい図形を選択した状態で実行するマクロです。

マクロを使うことによる作業過程の軽減

まず、今回紹介するマクロを使うと作業がどのようになるか示しておきますね。

画像ファイルとして保存したい図形を選択してマクロを実行(Alt + F8 を押して選択するのが早い)すると、「画像の名前を入力してください。」というメッセージとともに画像ファイルの名前を入れるボックスが出てきます。

画像の名前を入力し「OK」を押せば、現在の Powerpoint ファイルと同じフォルダに自動保存してくれます(画像ファイルの形式は jpg としています)。

これにより、イライラする画像ファイルの保存先を選択する過程が無くなります。

VBA コード

以下に全てのコードを示します。

VBE(エディタ)を Alt + F11 で開いて以下を書き込みます。

コード説明

VBA コードについて説明します。

エラーが発生しても無視

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

On Error Resume Next

変数の定義

Folder_Path には、一番上のフォルダ(名前は「ブログ」)のパスを入れます。

File_Path には、現在開いているアクティブなパワーポイントファイルのパスを入れます。

Shape_Name には、画像ファイルの名前を入れます。

変数への入力

この部分では変数「Blog_Folder_Path」に「ブログ」フォルダのパスを入力しています。

〇〇〇の部分は使っているパソコンによって異なりますので確認して下さい。

フォルダの名前も私は「ブログ」にしているというだけです。

パスは文字列なので ” ” で括ることを忘れないようにしましょう。

フォルダのパスは、該当するフォルダを選択して Shift キー押しながら右クリック「パスのコピー」を選択すればコピーできます。

この部分では変数「File_Path」に現在開いているアクティブなパワーポイントファイルのパスを入れています。

ActivePresentation.Path はアクティブなパワーポイントファイルのパスを意味します。

(ActivePresentation オブジェクトの Path プロパティ)

パワーポイントファイルを1つ開いるだけであれば、必然的にそのファイルが該当します。

Excel で言うところの「ActiveWorkBook」と同じですかね。

先にファイルの保存をさせる

If 文を使います。

InStr 関数は次のように記述して使います。

InStr(検索対象となる文字列, 検索する文字列)

「検索対象となる文字列」の中に「検索する文字列」が含まれる場合は、その位置を返します。

見つからない場合は「0」を返します。

例えば

InStr(“あいうえお”, “うえ”)

とした場合、「うえ」は「あいうえお」の中で前から数えて3番目にあるので「3」を返します。

また、例えば

InStr(“あいうえお”, “かき”)

とした場合、「かき」は「あいうえお」の中に含まれないので「0」を返します。

さて、今回の If 文について

ファイルのパス「File_Path」の中に「ブログ」フォルダのパス「Blog_Folder_Path」が含まれない場合

「ファイルをブログ用に保存した後に再度実行して下さい。」

というメッセージを表示させて、プログラムを終了します。

つまり、ファイル自体を「ブログ」フォルダに保存してない場合には、

この後の画像として保存する操作ができないようにしてあるということです。

なお、「ブログ」フォルダの中への保存についてもマクロを使って対応しています。

私はブログでよく画像を使います。写真をそのまま載せることもありますが、だいたいは何かしらの編集をしております。そして、画像の編集には Powerpoint(パワーポイント) を使用しています。Powerpoint は言わずと知れたプレゼン用のソフトですが、ブログ用の画像の編集にも十分使えます。矢印を入れたり、資格で囲ったり、文字を追加したりということができますので。1、テンプレートファイルを作成しておくブログ用の画像編集は頻繁に行うので Powerpoint ファイルのテンプレートを作っています。以前こちらの記事で紹介致しまし...
Powerpoint VBA でブログ画像作成用のフォルダ・ファイルの作成、保存作業を自動化... - My タックスノロジー

画像ファイルの名前を入力

    Shape_Name = InputBox(“画像の名前を入力してください”)

この部分では、インプットボックスを表示させて画像の名前を入力させます。

InputBox 関数は以下のように記述して使います。

InputBox(メッセージ)

メッセージは “” で囲わなければなりません。

この関数はキャンセルボタンを押した場合には、””(空白)を返します。

    If Shape_Name = “” Then Exit Sub  ‘キャンセルボタンを押した場合は「終了」’

この部分では、キャンセルボタンを押した場合にはプログラムを終了(Exit Sub)するように指示しています。

図として保存

今回の大事な箇所です。

この部分では、選択している図形を指定したフォルダに指定した名前で保存しています。

「図として保存」ですね。

Export メソッドを使って表すと以下のように記述します。

オブジェクト.Export PathName:=ファイルパス,Filter;=ファイル種類

オブジェクトは保存する対象で、今回の場合は選択した図形になります。

オブジェクトの指定は「ActiveWindow.Selection.ShapeRange」の部分で行っています。

「ActiveWindow」はApplication オブジェクトの ActiveWindow プロパティを意味しており、作業中のウインドウを表します。

「ActiveWindow.Selection」は作業中のウインドウをオブジェクトとし、そのオブジェクトの Selection プロパティを表しています。

つまり、作業中のウインドウで選択しているものということになります。

「ActiveWindow.Selection.ShapeRange」は「ActiveWindow.Selection」の部分で作業中のウインドウで選択しているものをオブジェクトとして、そのオブジェクトの ShapeRange プロパティを表しています。

つまり、「ActiveWindow.Selection.ShapeRange」で作業中のウインドウで選択している図形を表すことになります。

ファイルパスとして、今回指定したこのパワーポイントファイルのパスに図形の名前を付け足しています。

ファイルの種類は「ppShapeFormatJPG」とすることで拡張子を「.JPG」とすることを意味しています。

なお、この部分はこちらのサイトを参考にさせて頂いております。

3、まとめ

Powerpoint VBA を使って選択した図を現在のファイルと同じフォルダ内に保存する方法を紹介しました。

ブログの画像編集は作る図自体は毎回別物ですが、作る過程でルーチンが多くそれが重なると毎回毎回同じことやっているように感じて(実際そうなのですが)面倒になることが多いんですよね。

Powerpoint VBA を使って日々業務改善しておりますが、まだまだ改善の余地があると思っています。

最も使いやすい作業環境を目指して日々改善に取り組んで行きたいところです。

モバイルバージョンを終了