vba 获取PPT幻灯片中的所有标题的代码(vba 获取窗口标题)新鲜出炉

随心笔谈9个月前发布 admin
179 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

这篇文章描述了一个VBA宏(Private Sub CommandButton1_Click())的功能和实现逻辑,其核心内容如下: 1. **宏的基本结构**: 宏首先禁用命令按钮(`Me.Enabled=False`),然后调用自定义的子过程`getTitles()`,最后重新启用按钮(`Me.Enabled=True`)。 2. **子过程`getTitles()`的功能**: 该子过程通过遍历当前幻灯片中的所有形状(幻灯片、图片框、图表框等),提取每个形状中的文字内容。具体实现包括: - 使用`Set oPres=Application.ActivePresentation`获取当前幻灯片放映机。 - 遍历所有幻灯片和形状,检查每个形状是否包含文本框。 - 如果形状中有文字框,提取文字内容,并检查前三个字符是否为数字。如果是,则将文字内容显示在`TextBox1`中,并添加换行符。 3. **关键功能总结**: 该宏的主要目的是自动提取幻灯片中的文字内容,并将符合条件的文字显示在指定的文本框中。同时,代码中包含`On Error Resume Next`机制,以确保在处理过程中出现错误时仍能继续运行。 总结来看,文章简要介绍了该宏的实现逻辑和核心功能,突出了其文字提取和错误处理的关键点。

Private Sub CommandButton1_Click()

Me.Enabled=False

getTitles

Me.Enabled=True

End Sub

Sub getTitles()

On Error Resume Next

Dim oPres As Presentation

Set oPres=Application.ActivePresentation

Dim oSlide As Slide

Dim oShape As Shape

Dim tr As TextRange

Dim sText As String

Dim i As Long, j As Long

‘循环每页幻灯

For i=1 To oPres.Slides.Count

Set oSlide=oPres.Slides.Item(i)

‘获取图形对象

For j=1 To oSlide.Shapes.Count

Set oShape=oSlide.Shapes.Item(j)

‘如果有文字

If oShape.TextFrame.HasText=msoTrue Then

Set tr=oShape.TextFrame.TextRange

sText=tr.Text

‘如果符合格式: 根据情况设定, 此处前三位构成为x.y

If IsNumeric(Left(sText, 3)) Then

‘MsgBox sText

TextBox1.SelStart=65535

TextBox1.SelText=sText & vbCrLf

End If

Set tr=Nothing

End If

Set oShape=Nothing

Next

Set oSlide=Nothing

Next

Set oPres=Nothing

End Sub

© 版权声明

相关文章