質問

PowerPointテンプレートで各カスタムレイアウトの各形状の言語をプログラム的に変更しようとしていますが、これを行う方法がわかりません。以前にやったことがありますが、もうマクロが見つからないので、どうやってやったのか本当にわかりません。ただし、各カスタムレイアウトを選択することができました。ただし、各レイアウトの各テキストボックスをループして、言語も選択する必要があります。私の問題は、各形状をターゲットにすることです。どうすればいいですか?

これが私がこれまでに持っているものです:

ActiveWindow.ViewType = ppViewSlideMaster

For Each oLayout In ActivePresentation.SlideMaster.CustomLayouts
    oLayout.Select
Next   

これは基本的に各レイアウトをループします。しかし、各プレースホルダーを選択する方法を理解できませんか?どうすればいいですか?

編集:解像度は今です:

For Each oLayout In ActivePresentation.SlideMaster.CustomLayouts
    oLayout.Select
    Dim oShape As Shape
    For Each oShape In oLayout.Shapes
        oShape.Select
    Next
Next
役に立ちましたか?

解決

ループを通過します oLayout.Shapes, 、 多分 oLayout.Shapes.Placeholders.

他のヒント

お二人に感謝します。マスタースライドに埋め込まれたExcelオブジェクトを更新するソリューションが必要でした。これは私を完璧な解決策に導きます

'loops through all shapes in slidemaster
    Dim oShape As Shape
    For Each oShape In ActivePresentation.SlideMaster.Shapes
        oShape.Select
        'checks for excel object (type=7)
                 If oShape.Type = msoEmbeddedOLEObject Then
                    oShape.OLEFormat.Activate

                    ActiveWindow.Selection.Unselect  'deactivates shape
                End If
    Next
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top