Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » VBAで図形を別スライドに複製する

動作検証バージョン:64bit Windows 10 Pro + 32bit PowerPoint(バージョン2105 ビルド14026.20308 Microsoft Store)

PowerPoint VBA: Duplicateの検索結果

コピー&ペーストするのではなく、一気に複製を行ってくれるDuplicateメソッドを持つオブジェクトが、PowerPointにはいくつかあります。

このDuplicateに関して、
「パワーポイント VBA duplicate 指定したページにコピー」
という検索キーワードでアクセスがありました。

PowerPoint VBAに用意されているDuplicateメソッドを使って、図形を別のスライドに複製するには、どのようなコードを書けばいいのか探していた方による検索でしょうか。

[スポンサードリンク]

Duplicateメソッドで選択図形を別スライドに複製するサンプル

「パワーポイント VBA duplicate 指定したページにコピー」
とのことですが、ShapeRangeオブジェクトのDupulicateメソッドをオブジェクトブラウザーで調べてみると、詳細ペインに「Function Duplicate()」と表示されているとおり、

PowerPoint.ShapeRange.Duplicate

Duplicateメソッドは複製先を指定するような引数を指定できるようには作られていません。

結局、以下のSubプロシージャのように、Dupulicateメソッドで複製してから、カット&ペーストする必要があります。

Sub Duplicateメソッドで選択図形を先頭スライドに複製する()
 With ActiveWindow.Selection
  If .Type <> ppSelectionShapes Then Exit Sub
  .ShapeRange.Duplicate.Cut
 End With
 ActivePresentation.Slides(1).Shapes.Paste
End Sub

いずれかのスライドで、複製したい図形を選択しておいてから上記のSubプロシージャを実行すると、選択されていた図形が、先頭スライドに複製されます。

選択されている図形を、ShapeRange.Duplicateメソッドで複製してから、ShapeRange.Cutメソッドで切り取り、
  With ActiveWindow.Selection
   .ShapeRange.Duplicate.Cut

ShapeRange.Cutメソッドで切り取り、
   .ShapeRange.Duplicate.Cut

PowerPoint.ShapeRange.Cut

Shapes.Pasteメソッドで先頭スライドに貼り付けを行っています。
  ActivePresentation.Slides(1).Shapes.Paste

PowerPoint.Shapes.Paste

図形が選択されていない場合に実行時エラーを回避するために、図形が選択されていないときにはSubプロシージャを終了する処理を事前に入れています。
  With ActiveWindow.Selection
   If .Type <> ppSelectionShapes Then Exit Sub

Copyメソッドで選択図形を別スライドに複製するサンプル

結局カット&ペーストするのなら、Duplicateメソッドを使わず最初からCopyメソッドを利用すればイイと私は感じます。

PowerPoint.Shapes.Copy

Sub 選択図形を先頭スライドに複製する()
 With ActiveWindow.Selection
  If .Type <> ppSelectionShapes Then End
  .ShapeRange.Copy
 End With
 ActivePresentation.Slides(1).Shapes.Paste
End Sub

先ほどのSubプロシージャで
  .ShapeRange.Duplicate.Cut
となっていた行が、
  .ShapeRange.Copy
になっている点だけが異なります。

最終更新日時:2021-09-07 02:51

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » VBAで図形を別スライドに複製する

TrackBack:0

TrackBack URL

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » VBAで図形を別スライドに複製する

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.