2011-01-04 4 views
0

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

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 

答えて

2

oLayout.Shapesをループし、あるいは多分oLayout.Shapes.Placeholders

+0

ああ..に私をリードしています。奇妙な私はこれを昨日考えなかった!ありがとう! –

0

ありがとうございました。私はマスタースライド上に埋め込まれたExcelオブジェクトを更新するための解決策が必要でした。 これは私がちょうど形状としてoShapeを暗くしなければならなかった、実際に働いた完璧なソリューション

'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 
関連する問題