重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

パワーポイントで既に画像の倍率変更とトリミングを行っている画像を選択してマクロを実行すると、その画像を複製して複製元の画像の下の表示されていない部分から複製元の画像と同じ高さ分トリミングして横に表示させるというマクロを作成したく試行錯誤しているのですが、なかなかうまくいきません。どのようなマクロであれば上記のようなことが実現できるのか教えていただけると幸いです。

「パワーポイントで既にトリミングされている」の質問画像

A 回答 (1件)

こんにちは



PPTのVBAを触ったことはありませんし、ちゃんと調べてもいないので、よくわかりませんが・・・

>どのようなマクロであれば上記のようなことが実現できるのか教えていただけると幸いです。
単純に言えば、画像をコピーして、サイズ(及びトリミング)を調整すればよさそうに思います。

以下は、かなりいい加減なサンプルなので、実用にはならないと思いますが・・・
(あくまでも『どのような』に対する一例ですので、こちらのjpg画像では、ひとまず動作するといったレベルです)

Sub test()

On Error Resume Next
Set shp = ActiveWindow.Selection.ShapeRange
If Err.Number <> 0 Then Exit Sub
On Error GoTo 0
If shp.Count <> 1 Or shp.AutoShapeType <> 1 Then Exit Sub

Set shp2 = shp.Duplicate
dTop = shp.PictureFormat.CropTop
dBtm = shp.PictureFormat.CropBottom
dHt = shp.Height + dTop + dBtm

shp2.PictureFormat.CropTop = 0
shp2.PictureFormat.CropBottom = 0
shp2.PictureFormat.CropTop = dTop + shp.Height
If shp.Height > dBtm Then
shp2.Height = dBtm
Else
shp2.PictureFormat.CropBottom = dHt - dTop - 2 * shp.Height
End If
shp2.Left = shp.Left + shp.Width + 10
shp2.Top = shp.Top

End Sub
    • good
    • 0
この回答へのお礼

返信が大変遅くなり申し訳ございませんでした。
本質問にご回答いただき、ありがとうございました。
あの後、教えていただいたサンプルコードを参考に無事完成させることができました。
本当にありがとうございます。

お礼日時:2022/12/21 13:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!