PowerPoint:如何重复图片而不将图片放在Masterslides中?

发布于 2025-02-02 20:19:17 字数 187 浏览 0 评论 0原文

我想为我的同事制作模板。他们应该能够将客户徽标放在第一个幻灯片上,然后在所有幻灯片上都有徽标。我不希望他们打开Masterslides并将徽标放在那里,因为这会导致人类错误。

我的想法是在所有幻灯片上放置图片占位符并将内容链接起来,以便将图片放在其中一个幻灯片中,以便其他图片显示同一图片。但是我找不到一个选择。

有人知道该怎么做?

I want to make a template for my colleagues. They should be able to place the customer logo on the first slide and then have the logo on all slides. I don't want them to open the masterslides and place the logo there, because this will cause human errors.

My idea would be to put a placeholder for pictures on all slides and link the contents, so that when a picture is placed in one of them, that the others show the same picture. But I can't find an option for that.

Anyone got an idea how to do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

够钟 2025-02-09 20:19:17

PowerPoint不会这样做“开箱即用”。您需要提供一个编程的解决方案(例如,以加载项的形式),可以通过插入图像然后将其复制到每个幻灯片或通过将其复制到幻灯片主!或一个或多个布局。

这将采用您选择的任何形状,并在演示文稿中的每张幻灯片上划定它们(因此它们坐在每个幻灯片上的其他任何东西上)。当它们粘贴到每个幻灯片上时,它们“标记”,以便以后可以识别。如果您再次运行宏,它首先会删除其标记的任何形状,因此您不会使用很多重复。

Sub DupeAcrossAllSlides()
Dim oShRange As ShapeRange
Dim oSl As Slide
Dim oSh As Shape
Dim oDupeShrange As ShapeRange
Dim x As Long

' Delete any old duped shapes
For Each oSl In ActivePresentation.Slides
    For x = oSl.Shapes.Count To 1 Step -1
        If Len(oSl.Shapes(x).Tags("Dupe")) > 0 Then
            oSl.Shapes(x).Delete
        End If
    Next
Next

Set oShRange = ActiveWindow.Selection.ShapeRange
oShRange.Copy

For Each oSl In ActivePresentation.Slides
    Set oDupeShrange = oSl.Shapes.Paste
    For Each oSh In oDupeShrange
        oSh.Tags.Add "Dupe", oSh.Name
    Next
Next
oShRange.Delete

End Sub

PowerPoint doesn't do this "out of the box". You'd need to provide a programmed solution (eg. in the form of an add-in) that would do the job for them, either by letting them insert an image then copying it to each slide OR by copying it to the slide master or one or more layouts.

This will take whatever shapes you have selected and dupe them on each slide in the presentation (so they sit atop anything else on each slide). As they're pasted onto each slide, they're "tagged" so they can be identified later. If you run the macro again, it first deletes any shapes it's tagged, so you don't wind up with lots of duplicates.

Sub DupeAcrossAllSlides()
Dim oShRange As ShapeRange
Dim oSl As Slide
Dim oSh As Shape
Dim oDupeShrange As ShapeRange
Dim x As Long

' Delete any old duped shapes
For Each oSl In ActivePresentation.Slides
    For x = oSl.Shapes.Count To 1 Step -1
        If Len(oSl.Shapes(x).Tags("Dupe")) > 0 Then
            oSl.Shapes(x).Delete
        End If
    Next
Next

Set oShRange = ActiveWindow.Selection.ShapeRange
oShRange.Copy

For Each oSl In ActivePresentation.Slides
    Set oDupeShrange = oSl.Shapes.Paste
    For Each oSh In oDupeShrange
        oSh.Tags.Add "Dupe", oSh.Name
    Next
Next
oShRange.Delete

End Sub
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文