PowerPoint (全般)

PowerPoint 全般に関する話題を扱うフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : PowerPoint 2016)
オブジェクトの編集
投稿日時: 18/09/21 03:24:08
投稿者: momo-k

ホームタブ→配置→オブジェクトの選択と配置で
構成されているオブジェクトが一覧表示されると思うのですが
一番上のオブジェクト(全てのスライド)を一括編集するには
どのようなマクロコードになるのでしょうか?
 
例えば、全スライドにある「一番上のオブジェクト」を
 色…黒
 透明度…50%
 枠線…黒、5pt  
に変更など
 
ご存知の方おられましたら教えてください

回答
投稿日時: 18/09/21 10:58:35
投稿者: sk

引用:
ホームタブ→配置→オブジェクトの選択と配置で
構成されているオブジェクトが一覧表示されると思うのですが
一番上のオブジェクト(全てのスライド)を一括編集するには
どのようなマクロコードになるのでしょうか?

・プレゼンテーション内の全てのスライド
 (あるいはスライドマスター)のタイトル
 編集したい。
 
・[オブジェクトの選択と表示]ウィンドウに表示されている
 図形リストの 1 番上に表示されているオブジェクト
 (スライドの最前面にあるオブジェクト)を編集したい。
 
どちらの意味でおっしゃっているのでしょうか。
 
仮に後者の意味でおっしゃっているのだとして、
もしスライドによって「 1 番上のオブジェクト」の種類が
異なる場合はどうなさるつもりなのでしょうか。
(そもそも何故「 1 番上」なのか)

投稿日時: 18/09/24 23:11:37
投稿者: momo-k

わかりづらくて申し訳ありません
後者の意味で捉えていただいて結構です
     
全てのスライドにはそれぞれ一番上に同じオブジェクトで統一されているので問題ない
とは思いますが、万が一違っていた場合はそのスライド部分だけスキップ
していただきたいです
     
図形の種類は基本図形のフレームなのですが、一番上に表示されているもの以外
にも使用することがありますので、単純に一番上に表示されているもの(フレーム)だけを
編集できればと思った次第です

回答
投稿日時: 18/09/25 11:41:29
投稿者: sk

引用:
後者の意味で捉えていただいて結構です

引用:
・[オブジェクトの選択と表示]ウィンドウに表示されている
 図形リストの 1 番上に表示されているオブジェクト
 (スライドの最前面にあるオブジェクト)を編集したい。

引用:
例えば、全スライドにある「一番上のオブジェクト」を
 色…黒
 透明度…50%
 枠線…黒、5pt  
に変更など

引用:
全てのスライドにはそれぞれ一番上に同じオブジェクトで統一されているので問題ない
とは思いますが、万が一違っていた場合はそのスライド部分だけスキップ
していただきたいです

引用:
図形の種類は基本図形のフレーム

(標準モジュール)
---------------------------------------------------------------
Sub subSetAllFrontShapes()
     
    Dim pptPresentation As PowerPoint.Presentation
    Dim pptSlide As PowerPoint.Slide
    Dim pptShape As PowerPoint.Shape
         
    'アクティブなプレゼンテーションの参照
    Set pptPresentation = ActivePresentation
         
    '全てのスライドを順次参照
    For Each pptSlide In pptPresentation.Slides
        '参照中のスライドの最前面のオブジェクトを参照
        Set pptShape = pptSlide.Shapes(pptSlide.Shapes.Count)
        With pptShape
            '図形の種類がフレームである場合
            If .AutoShapeType = msoShapeFrame Then
                '書式の設定
                .Visible = msoTrue
                .Fill.ForeColor.RGB = RGB(0, 0, 0)
                .Fill.Transparency = 0.5
                .Line.Style = msoLineSingle
                .Line.ForeColor.RGB = RGB(0, 0, 0)
                .Line.Weight = 5
            End If
        End With
        Set pptShape = Nothing
    Next
     
    Set pptSlide = Nothing
    Set pptPresentation = Nothing
 
End Sub
---------------------------------------------------------------
 
上記のようなコードを実行なさればよろしいかと。

投稿日時: 18/09/27 01:35:27
投稿者: momo-k

sk様、返信いただきありがとうございます
 
試したところ、問題なく実行できました
これで効率よく作業に打ち込むことができます
 
本当にありがとうございましたm(_ _)m