形状为“文本框1”的文本为“工作堆栈。<8Spaces> ###资源:Name1”。 我想使用ppt vba从上述文本中删除“ ###”。执行以下语句后,形状中的文本为“工作堆栈。资源:Name1”。
MyPPT.Slides(1).Shapes("TextBox 1").TextFrame.TextRange.Find("###").Delete
它将在句点之后删除空格,但我想保留这些空格,即所需的输出是“ Work stack。<8Spaces> Resource:Name1”。 Replace(FindWhat:=“ ###”,ReplaceWhat:= vbNullString)确实很好,但是我想检查这是否是delete方法的默认行为,还是行为不当,或者是否有办法通过ppt文本框属性更改此行为或其他一些设置。请分享您的想法。
答案 0 :(得分:0)
这似乎是Delete
的预期行为。手动完成后,行为类似,即,如果在文本框中选择了###
,则←Backspace 会清除前导空白。 Cut
的行为类似。
也许将Replace
与空白字符串一起使用,而不是Delete
。
Sub Test()
Dim MyPPT As Presentation
Set MyPPT = ActivePresentation
MyPPT.Slides(1).Shapes("TextBox 1").TextFrame.TextRange.Replace FindWhat:="###", ReplaceWhat:=""
End Sub