我需要帮助创建一个宏以在 powerpoint 2013 中查找文本
Posted
技术标签:
【中文标题】我需要帮助创建一个宏以在 powerpoint 2013 中查找文本【英文标题】:I want help to create a macro to find text in powerpoint 2013 【发布时间】:2014-05-04 07:40:36 【问题描述】:。我在这里和网上找到了一些答案,但没有任何效果(可能是因为他们使用旧办公室 2010)我不是专家(老派程序员)我只需要在全屏时放置一个在演示文稿中工作的搜索框。我的演示文稿有近 1,600 页(是的,不要问它为什么或如何在 4 GB 内存、2.2 ghz 笔记本电脑上运行,但确实如此)我尝试了很多代码,但每个人都失败了。这里有什么帮助吗? (用于反欺凌项目)
类似的东西(在这里找到)
选项显式
子 HighlightKeywords() 将 sld 调暗为幻灯片 将 shp 变暗为形状 Dim txtRng As TextRange, rngFound As TextRange Dim i As Long, n As Long 暗淡目标列表
'~~> Array of terms to search for
TargetList = Array("keyword", "second", "third", "etc")
'~~> Loop through each slide
For Each sld In Application.ActivePresentation.Slides
'~~> Loop through each shape
For Each shp In sld.Shapes
'~~> Check if it has text
If shp.HasTextFrame Then
Set txtRng = shp.TextFrame.TextRange
For i = 0 To UBound(TargetList)
'~~> Find the text
Set rngFound = txtRng.Find(TargetList(i))
'~~~> If found
Do While Not rngFound Is Nothing
'~~> Set the marker so that the next find starts from here
n = rngFound.Start + 1
'~~> Chnage attributes
With rngFound.Font
.Bold = msoTrue
.Underline = msoTrue
.Italic = msoTrue
'~~> Find Next instance
Set rngFound = txtRng.Find(TargetList(i), n)
End With
Loop
Next
End If
Next
Next
结束子
【问题讨论】:
等等。 1600 页的演示文稿不是真正的演示文稿吗?是时候探索不同的工具了吗,例如 html、javascript 或构建自定义应用程序? 【参考方案1】:幻灯片上的任何形状都可以触发宏。假设您在 PPTM 文件中有一个 HelloWorld 子程序。您可以将形状添加到任何幻灯片,给它一个运行宏的动作设置:HelloWorld。
因此,您可以编写显示用户表单的代码,而不是简单的 HelloWorld 宏,用户表单可以收集您要搜索的文本。从那里开始,接下来会发生什么取决于您想要搜索的内容以及您想要对结果执行的操作。你还没有提到。
【讨论】:
嗨。我想找到标有名称 ( txt ) 的幻灯片。例如“John Doe”是一种快速转到任何幻灯片的方法。是这样的: 我在问题中发布了我想使用但在 powerpoint 2013 中不起作用的代码的更新。如果有人可以修复它并发布它,我将不胜感激。以上是关于我需要帮助创建一个宏以在 powerpoint 2013 中查找文本的主要内容,如果未能解决你的问题,请参考以下文章
Excel VBA - 组合宏以重命名工作表和宏以在一个宏中合并工作表