如何使用 VBA 在 PowerPoint 演示文稿的所有幻灯片上粘贴水印?

2023-11-30

如何使用VBA向PPT演示文稿的所有幻灯片添加水印(形状倾斜45度且呈灰色)?

我创建了一个输入框来接受一个字符串变量,该变量将在 PPT 的所有幻灯片上加水印。我还尝试创建一个形状并将输入的变量输入其中。我现在面临一个挑战,将这个形状粘贴到演示文稿中的其余幻灯片上,但向后发送。

Option Explicit
Public thepresentn As Presentation
Public theslide As Slide
Public thetex As Shape
Sub ConfidentialProject()
    Set thepresentn = ActivePresentation
    Set theslide = ActivePresentation.Slides.Item(1)
    Set thetex = theslide.Shapes.Item(1)
    Dim WORD As String
    WORD = InputBox("Please Enter the text you want to appear as Watermark", _
        "Enter Text Here:")
    thetex.TextFrame.TextRange.Text = WORD
End Sub

我希望第一张幻灯片上的水印能够复制到所有其他幻灯片上。


我为您提供了两种解决方案。第一个是使用幻灯片母版,第二个是使用您请求的方法。

这可以通过修改幻灯片母版来实现。不是复制和粘贴。如果您需要复制和粘贴,请指定要复制和粘贴的内容(文本、图片等)。

Option Explicit
Sub AddWaterMarkMaster()
    Dim intI As Integer
    Dim strWaterMark As String
    Dim intShp As Integer
    strWaterMark = InputBox("Please Enter the text you want to appear as Watermark", _
        "Enter Text Here:")
    With ActivePresentation.SlideMaster
        .Shapes.AddLabel msoTextOrientationHorizontal,
            .Width - 100, .Height - 100, 100, 100
        intShp = .Shapes.Count
        .Shapes.Item(intShp).TextFrame.TextRange = strWaterMark
        .Shapes.Item(intShp).Left = .Width - .Shapes.Item(intI).Width
        .Shapes.Item(intShp).Top = .Height - .Shapes.Item(intI).Height
    End With
End Sub

以及复制粘贴方法

Sub AddWaterMarkCopyPaste()
    Dim intI As Integer
    Dim intShp As Integer
    Dim strWaterMark As String
    strWaterMark = InputBox("Please Enter the text you want to appear as Watermark", _
        "Enter Text Here:")
    With ActivePresentation.Slides.Item(1)
        .Shapes.AddLabel msoTextOrientationHorizontal, _
            .Master.Width - 100, .Master.Width - 100, 100, 100
        intShp = .Shapes.Count
        .Shapes.Item(intShp).TextFrame.TextRange = strWaterMark
        .Shapes.Item(intShp).Left = .Master.Width - .Shapes.Item(intShp).Width
        .Shapes.Item(intShp).Top = .Master.Height - .Shapes.Item(intShp).Height
        .Shapes.Item(intShp).Copy
    End With
    For intI = 2 To ActivePresentation.Slides.Count
        With ActivePresentation.Slides(intI)
            .Shapes.Paste
            intShp = .Shapes.Count
            .Shapes.Item(intShp).Left = .Master.Width - .Shapes.Item(intShp).Width
            .Shapes.Item(intShp).Top = .Master.Height - .Shapes.Item(intShp).Height
        End With
    Next intI
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 VBA 在 PowerPoint 演示文稿的所有幻灯片上粘贴水印? 的相关文章

  • 如何使用 xlwings 从 Python 调用 Excel 宏?

    我读过API docs http docs xlwings org api html对于 xlwings 并在解释器中使用 Workbook 和 Sheet 对象 但我不知道如何从 Python 调用宏 如何使用 xlwings 从 Pyt
  • =MATCH() 等价于多维范围

    我有一个 Excel 工作表 其中单元格 A1 C20 INT RAND 10 这是我的数据范围 单元格 E1 1 E2 2 E3 3 等 这些是我试图找到的值 我设置单元格 F1 MATCH E1 A C 0 F2 MATCH E1 A
  • 使用 If 语句执行 Do Until 直到达到特定值

    我正在处理一份大数据表 我需要代码从特定单元格中减去 直到该值大于某个数字 如果这个数字没有达到 我希望它变成0 例如如果A3 A2 gt Q5 then E3 A3 A2 if lt Q5 do A3 A1 如果这不起作用E2 0 我需要
  • 延迟宏以允许事件完成

    在尝试从宏内访问外部 API 函数集时 我发现有必要添加延迟 以便外部 API 有时间处理选择 实现这一点会带来一些困难 因为使用 Application Wait 或 Application Sleep 不起作用 在线搜索让我尝试使用 G
  • VBA - HTML 抓取问题

    我正在尝试从网站上抓取拍卖数据https www rbauction com heavy equipment auctions https www rbauction com heavy equipment auctions 我当前的尝试是
  • 在 MS Outlook 中,报告所有未收到回复的已发送邮件

    我每天都会发送大量电子邮件 但常常无法跟踪哪些邮件得到了实际回复 有没有办法使用 VBA 脚本查看上周发送的所有消息 并检查他们是否收到回复 具体来说 是一份已发送电子邮件的报告 这些电子邮件尚未从至少一个发送到的地址收到回复 我了解一点
  • 将范围内的每个值乘以常数,但跳过空白单元格

    我需要一个简单快速的解决方案 用于将范围内的所有值乘以 VBA 代码中的数值 我知道这个解决方案 将整个范围乘以值 https stackoverflow com questions 18990541 multiply entire ran
  • excel 2010刷新BackgroundQuery中运行时错误1004

    我正在尝试用 vba 编写一个脚本 用于将多个文本文件导入 Excel 一张纸 然后将它们绘制在一张图表上 我面临一个问题刷新后台查询命令并出现 1004 运行时错误 我怎样才能解决它 谢谢 埃亚勒 这是我的代码 Sub fring1 Di
  • 从 C# 检测 powerpoint 形状上的事件

    是否有可能检测在 Powerpoint 形状 例如箭头 上发生的事件 到目前为止 我发现唯一的可能性是 selectitemchanged beforerightclick 和 beforedoubleclick 但无法找到检测其他内容的方
  • VBA Shell 并等待退出代码

    我正在打包一个办公应用程序 VBA 它调用 C 控制台应用程序来执行应用程序 大型模拟程序 的一些繁重工作 我希望能够让 VBA 应用程序等待控制台应用程序完成并从控制台应用程序检索退出代码 我已经能够做到前者 但尚未能够从应用程序中检索退
  • VBA 中的匈牙利语好吗?

    我在 Net 中不使用匈牙利语 str int 前缀 但我仍然发现它在 VBA 中很有用 因为在 VBA 中很难看到类型 这很糟糕吗 不必要 也许我错过了一些东西 我真的很感激任何反馈 我想知道有一段时间了 谢谢大家 我想说 这种匈牙利符号
  • VBA ByRef 参数类型不匹配

    最初在我的主代码部分中 我有一个丑陋的 if 语句 尽管它会运行丑陋 我决定将其设为我要调用的函数 这导致我收到错误 编译错误 ByRef 参数类型不匹配 我的假设是该函数需要正确引用 尽管我一直在阅读文档并且不明白为什么 gt 声明 Sh
  • 在 Excel 中使用 VBA 设置图像透明度

    有没有办法使用 VBA 脚本对图像应用一些透明度 我录制了一个 宏 但似乎没有录制艺术效果 我已经找到了如何制作形状 但没有找到图像 这需要几个步骤 将自选图形 如矩形 放置在工作表上 使用以下方法将您的实际图片嵌入矩形中 ShapeRan
  • 如何在 Excel 中对“高”字符进行 HTML 编码或音译?

    在 Excel 中 如何将包含重音字符 大引号等的单元格内容转换为相同字符的 HTML 或音译纯文本版本 我们有一个 XLS 文档 其中包含一些 高 字符 数据已通过数据库连接提取 并且 Excel 似乎正确处理不同代码页中的各个单元格 或
  • 使用 XMLHTTP 进行抓取会在特定类名处引发错误

    我正在尝试使用此代码抓取网站以提取姓名和联系人 Sub Test Dim htmlDoc As Object Dim htmlDoc2 As Object Dim elem As Variant Dim tag As Variant Dim
  • 在Excel VBA中将图像(jpg)转换为base64?

    我需要在 Excel 中转换图像 或通过VBA 转为base64 最后我将进行XML输出 我怎样才能做到这一点 我需要引用 DOM 吗 我一直在读书这个问题 https stackoverflow com questions 169907
  • 如何在缩进层次结构中找到父级?

    我目前有一张 Excel 工作表 其中包含缩进的项目层次结构 如下所示 每个项目都缩进 每个缩进四个空格 以显示它如何适应整体层次结构 我已经能够创建一个 级别 列 将缩进级别转换为数字 Item Level Parent P1 1 N A
  • 使用 Excel VBA 循环工作簿文件夹并将所有工作表导出为制表符分隔文本

    我拼凑了一个 Excel VBA 脚本 该脚本将打开的工作簿中的所有工作表写入单独的制表符分隔文件 这仍然是 宏 吗 我正在 Excel 真空中学习这一点 它一次只处理一本工作簿 效果很好 这里是 Sub exportSheetsToTex
  • 有什么办法可以加快这个 VBA 算法的速度吗?

    我正在寻找实现 VBAtrie http en wikipedia org wiki Trie 构建能够在相对较短的时间内 少于 15 20 秒 处理大量英语词典 约 50 000 个单词 的算法 由于我实际上是一名 C 程序员 这是我第一
  • 从 VBA 访问串行端口的最佳方法是什么?

    从 VBA 访问串行端口的最佳方法是什么 我需要我们的一些销售代表能够通过 PowerPoint 中的操作按钮通过串行端口发送简单的字符串 我不常用 VBA 尤其是像这样的事情 通常我会把它变成某种应用程序 但实际上我认为这个想法并没有那么

随机推荐