如何删除MS Word中某些字符后的所有文本?

时间:2015-11-25 18:54:16

标签: ms-word

让我说我有这样的文字:

  

东西:什么是什么

     

另一件事:另一件事

所以我想删除每一行之后的文字,所以我最终得到:

  

东西

     

另一件事

可能吗?

1 个答案:

答案 0 :(得分:0)

这是可能的,但如果我们谈论的是线条(而不是段落),则不是100%可靠。 Word不会将“行”视为有形对象,因为它总是重新计算页面流(事物在行/页面之间突破)。段落是对象,因为ANSI 13定义了段落的结尾。

这是一些VBA代码,用于演示您的请求的字面解释。 Find.Execute的部分是通过使用Word的查找功能进行录制而完成的。最后三行将选择范围扩展到当前行的末尾,将其向后移动一个字符以保留段落的新行/结尾。然后删除选择。这应该给你一个起点。

Selection.Find.ClearFormatting
With Selection.Find
    .Text = ":"
    .Replacement.Text = ""
    .Forward = True
    .wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .CorrectHangulEndings = False
    .HanjaPhoneticHangul = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.MoveEnd wdLine, 1
Selection.MoveEnd wdCharacter, -1
Selection.Delete