excel - 我正在寻找一个 VBA 代码来复制活动幻灯片中的文本
问题描述
非常基本的问题:我目前正在尝试获取一个操作按钮以将给定文本复制到剪贴板。目前,它正在与:
Sub CopyPasteButton()
With ActivePresentation.Slides(1)
.Shapes(5).TextFrame.TextRange.Copy
End With
End Sub
ActivePresentation.Slides(1) 是幻灯片编号,我要在其中查找要使用的宏,.Shapes(5) 是包含文本的页面的第五个形状。问题是我要为每张我希望这个功能在其上工作的幻灯片复制这个子,而且我有很多幻灯片。此外,当我添加幻灯片时,必须在模块中手动重写所有内容。
我愿意使用适用于每张幻灯片的单个宏,我正在考虑使用我在网上找到的一小段代码,但无法将我的菜鸟头绕在它周围:
Dim diapo As Slide
Set diapo = ActiveWindow.Selection.SlideRange(1)
解决方案
假设您的目标形状始终是第 5 个。您可以创建一个形状并分配此宏。您可以将形状复制并粘贴到任何幻灯片。
Sub CopyPasteButton()
Dim sld As Slide
Dim shp As Shape
'current slide where your button is
Set sld = ActivePresentation.SlideShowWindow.View.Slide
'assuming that your target shape is always the 5th one
Set shp = sld.Shapes(5).TextFrame.TextRange.Copy
End Sub
不过,我建议您在选择窗格中为目标形状/文本命名。这会容易得多,您的代码应如下所示:
Sub CopyPasteButton()
Dim sld As Slide
Dim shp As Shape
'current slide where your button is
Set sld = ActivePresentation.SlideShowWindow.View.Slide
'If you have a specific name for your target
Set shp = sld.Shapes("NameOfYourShape").TextFrame.TextRange.Copy
End Sub
希望这可以帮助
推荐阅读
- vb.net - 如何从异步任务中获取结果
- javascript - 在 Function 组件上使用 React.cloneElement 时如何设置引用?
- hadoop - 无法在 db2 中创建外部 hadoop 表
- bash - 如何在 Ansible Jinja2 (.j2) 模板中指定“if else”语句?
- javascript - PWA IOS:身体的孩子没有占据 100% 的高度,底部有间隙
- .net-core - 在 .NET Core 解决方案中使用 Dynamics AX 2009 Business Connector .NET Framework 3.5
- content-security-policy - 内容安全策略指令:“default-src 'self'”。请注意,'frame-src' 没有明确设置,所以 'default-src' 用作后备
- laravel - 为什么当我通过 composer 安装时找不到 Doctrine Dbal 包驱动程序?
- java - IntelliJ IDE MissingApiTokenError: `snyk` 需要经过身份验证的帐户。请运行 `snyk auth` 并重试
- java - Eclipse Gradle 向导使用 SubFolder -lib 创建项目