Power Pointで画像を指定サイズ、指定位置に貼り付けるマクロを使ってみた。(Power Point マクロ VBA)

なんとかかんとか今日も書き続けてます。

今日の新知識〜

 

 

 

前談

会社にて

「現地調査報告のパワーポイント作るから、フォルダにある写真と報告書の内容をこのテンプレにぶち込んでって〜」

と先輩に言われました。

調査箇所ごとに写真をひらすら貼り続ける単純作業です。

 

ま、すぐ終わるやろ〜とか思ってたら。

 

結構めんどくさい

 

特に、スライドに複数の写真を毎回定位置同じサイズで貼り付けるのが地味にめんどくさい。

 

調査した人間が違えば、写真サイズとかも毎回まちまちだったり、デジカメで撮影した写真なんて、でかすぎて毎回スライドサイズをはみ出すなんてことも。。

 

画像を選択→画像サイズを調整→定位置に移動

 

この3つの操作でボディーブローのように時間を食うわけです。

そんなとき、ふと、パワーポイントにもマクロ機能付いてたと思い出し、人生初パワポマクロ作成してみました。

 

【やりたいこと】

画像を選択→画像サイズを調整→定位置に移動

この3つのステップを自動化したい。

 

完成イメージ

f:id:kawanouso:20191021232424p:plain

こんな感じのスライドを大量に作りたい

 最初の状態

 

f:id:kawanouso:20191021232614p:plain

初期状態では画像が自由なサイズ

作業風景

f:id:kawanouso:20191021233008g:plain

せっかちなのでこんな作業もう無理

 

【作成したマクロ】

作ったマクロの処理はこんな感じ

(自分で)選択した画像に対して

 

サイズ変更(縦横比固定)→指定位置に移動

 

たったこれだけが自動化されるだけでだいぶ楽になりました。

 

具体的なコードは以下の通り

ーーーーー以下コード(標準モジュールに貼り付け)ーーーーーーー

Sub image_change()


TAKASA = 55  '高さ
HABA = 28  '幅

xkyori = 100 'スライド左上角からのx軸方向への距離

ykyori = 100 'スライド左上角からのy軸方向への距離

 

With ActiveWindow.Selection.ShapeRange
.LockAspectRatio = msoFalse  '縦横比を固定しない
.Height = TAKASA
.Width = HABA
.Top = xkyori
.Left = ykyori 


End With
End Sub

 

 

ーーーーーーーー以上コードーーーーーーーーー

 

こんな感じです。シンプル!!

TAKASA, HABA, xkyori, ykyoriの値をお好きなように変更してお使いください。

 

参考(縦横比を固定した場合)

僕の場合は、縦横比を固定して幅だけを指定したかったのでこんな感じのコード使いました。

ーーーーー以下コード(縦横比固定&幅指定)ーーーーーーー

Sub image_change()


TAKASA = 55  '高さ
HABA = 28  '幅

xkyori = 100 'スライド左上角からのx軸方向への距離

ykyori = 100 'スライド左上角からのy軸方向への距離

 

With ActiveWindow.Selection.ShapeRange
.LockAspectRatio = msoTrue  '縦横比を固定
.Height = TAKASA  ←この行は消します。
.Width = HABA '幅のみ指定
.Top = xkyori
.Left = ykyori 


End With
End Sub

ーーーーーーーーー以上コードーーーーーーーーー

※ちなみに画像の高さのみ指定なら

今のコードの.Height = TAKASA を残して、.Width = HABAを残します。

 

 

 

はじめっから写真のサイズくらいは揃えとけって話ですが、その方法はまたそのうち調べて書ければという感じです。

 

以上、本日の豆知識でした。

 

#Power Point #パワーポイント #マクロ #VBA #画像 #指定位置 #指定サイズ #自動化 #便利