【发布时间】:2021-06-06 19:09:01
【问题描述】:
我想在 textrange 中选择一些字符。当我使用“With activepresentation.slides(2).shapes(2)”时它可以工作。 代码:
dim Txtrng as textrange
dim Words_Instr as integer
dim aa as string
With ActivePresentation.Slides(2).Shapes(2)
Set Txtrng = .TextFrame.textRange
aa = "AAAA"
Words_Instr = InStr(Txtrng, aa)
If Words_Instr > 0 Then
Txtrng.Characters(Words_Instr, Len(aa)).Select
end if
end with
当我使用“pres.”时它不起作用。我想在每张幻灯片的每一个形状上做同样的事情。 代码:
dim pres as presentation
dim sli as slide
dim shp as shape
dim Txtrng as textRange
dim Words_Instr as integer
dim aa as string
set pres=Presentations.Open(filename:=f1)
aa = "AAAA"
For Each sLi In pRes.Slides
for each sHp in sLi.shapes
If sHp.HasTextFrame = msoTrue Then
Set Txtrng = sHp.TextFrame.textRange
Words_Instr = InStr(Txtrng, aa)
If Words_Instr > 0 Then
Txtrng.Characters(Words_Instr, Len(aa)).Select
end if
end if
next
next
“txtrng.characters(...).select”总是显示错误
如果有任何帮助,我将不胜感激。
【问题讨论】:
-
好诡异,我测试了一下却成功选中了文字
-
我是 StackOverflow 的新访客。我不熟悉它。谢谢你,健祥。既然你能运行成功,我会尝试寻找其他可能的方法。
-
不,我使用的是与您完全相同的代码,无需修改,但选择成功...
标签: vba select powerpoint