私は他のプレゼンテーションからパワーポイントプレゼンテーションを生成するExcel VBAマクロをプログラミングしています。最後に、コンテンツスライドが生成されます。トピックに応じて、スクリプトはこのトピックの関連する画像を画像プレースホルダにコピーする必要があります。現時点では、コンテンツスライドには正しいテキストボックス(トピック名)が入力されていますが、画像を挿入しても機能しません。すべてのスライド イメージ画像ホルダーを挿入するvba powerpointを
- ループあなたはその後、「コンテンツ」という名前の形状のスライドを見つけた場合::
Intentend擬似コード
- コピーに「画像パス」にある画像画像プレースホルダー「FeaturePic2」(例えば)。
私はコードを例に縮小しましたが、これはうまくいきません。コードの役割は次のとおりです。 "Content"という名前の図形がなくても、画像パス画像を各スライドにコピーします。次に、「FeaturePic2」(このスライドの2番目のプレースホルダー)には挿入されませんが、見つかった最初のプレースホルダーが挿入されます。
'<<BEGIN>>
On Error Resume Next
template_path = "C:\test\test.pptx"
image_path = "C:\test\test.jpg"
Set pres_template = pptApp.Presentations.Open(template_path)
For Each slide In pres_template.Slides
If Shape.Name = ("Content") Then
slide.Shapes.Placeholders("FeaturePic2").Select msoTrue
slide.Shapes.AddPicture Filename:=image_path, LinkToFile:=False, SaveWithDocument:=True, Left:=10, Top:=10
End If
Next slide
'<<END>>
追加の質問:特定の名前のプレースホルダを削除するにはどうすればよいですか?
事前に敬具と感謝
「うまくいかない」とはどういう意味ですか?また、写真を展開するセルに名前を設定しようとしましたか? – FDavidov
動作しません:「コンテンツ」という名前の図形がなくても、画像パスピクチャを各スライドにコピーします。次に、「FeaturePic2」(このスライドの2番目のプレースホルダー)には挿入されませんが、見つかった最初のプレースホルダーが挿入されます。 セルの名前についてパワーポイントのスライドを作成したいスクリプトは、表を読み込み、この表に基づいてプレゼンテーションを読み込む必要があるため、Excel vbaスクリプトから制御されます。私はあなたの質問を正しく理解してくれることを願っています。 – DarylMusashi
そして、どのアプリケーションでVBA、Excel、PowerPoint、またはコマンドライン経由で実行していますか? – FDavidov