首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.TextRange中的分体文本

.TextRange中的分体文本
EN

Stack Overflow用户
提问于 2021-05-31 07:20:54
回答 3查看 152关注 0票数 0

我的目标是把名单分开。目前,我正在使用Shapes().TextFrame.TextRange读取形状中的文本。我们可以使用Mid()来拆分字符;但是,我想知道如何分割这些行,因为每一行中的字符都是不同的。

我只想在MsgBox中显示第二行(比如说)。我该怎么做?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-05-31 16:55:16

让PPT帮你做重活吧:

代码语言:javascript
复制
With ActiveWindow.Selection.ShapeRange(1)
    With .TextFrame.TextRange
        MsgBox .Paragraphs(2)
    End With
End With
票数 1
EN

Stack Overflow用户

发布于 2021-05-31 07:40:55

在文本框中,您的问题可以不分割地解决吗?

代码语言:javascript
复制
 Sub test1()

Dim resultString As String

resultString = ActivePresentation.Slides(1).Shapes(3).TextFrame.TextRange

MsgBox resultString

End Sub

其结果是:

当文本位于ppt的主标题框中时,只需要拆分文本,请注意以下代码中无法显示的特殊字符:

代码语言:javascript
复制
Sub test1()

Dim resultString As String
Dim sArray
Dim i As Long

sArray = Split(ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange, "")

resultString = ""
For i = LBound(sArray) To UBound(sArray)
    If resultString <> "" Then
        resultString = resultString & vbNewLine & sArray(i)
    Else
        resultString = sArray(i)
    End If
Next

MsgBox resultString

End Sub

特殊字符代码

输出:

票数 0
EN

Stack Overflow用户

发布于 2021-05-31 07:46:33

将文本分割成几个部分的命令是Split,请参阅https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/split-function

代码语言:javascript
复制
Dim t As String, tokens() As String, i As Long
t = "ABC,DEF,,XYZ"
tokens = Split(t, ",")
For i = LBound(tokens) To UBound(tokens)
    Debug.Print i, tokens(i)
Next

将为您提供一个包含变量tokens中的4个元素的数组。这总是0-索引:

代码语言:javascript
复制
 0            ABC
 1            DEF
 2            
 3            XYZ

现在,您需要知道的是定义换行符的字符。如果您在Powerpoint中创建了形状,那就是传输返回字符,在VBA中有一个常量的vbCr

代码语言:javascript
复制
 Dim sh As Shape
 set sh = ActivePresentation.Slides(1).Shapes(1) 
 t = sh.TextFrame.TextRange
 tokens = Split(t, vbCr)

它在Word中的工作原理相同,但是在Excel中,您似乎需要使用TextFrame2,分隔符是Line字符:

代码语言:javascript
复制
 t = sh.TextFrame2.TextRange
 tokens = Split(t, vbLf)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67769416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档