VBA WORD:删除SHIFT-ENTER行

VBA WORD:删除SHIFT-ENTER行,vba,ms-word,powerpoint,Vba,Ms Word,Powerpoint,从ppt复制后,您经常会看到这样的行: This is a line and then another line and then another and so forth. New lines created via SHIFT-ENTER. 我需要它说: 这是一条线 然后是另一行 然后是另一个 等等创建新行 通过SHIFT-ENTER键 仅按ENTER键创建的新行应保留为新行。Shift+ENTER只不过是^l 这就是Shift+Enter的样子 因此,您可以手动替换它,也可以使用下面

从ppt复制后,您经常会看到这样的行:

This is a line
and then another line
and then another
and so forth. New lines created 
via SHIFT-ENTER.
我需要它说:

这是一条线 然后是另一行 然后是另一个 等等创建新行 通过SHIFT-ENTER键

仅按ENTER键创建的新行应保留为新行。

Shift+ENTER只不过是
^l

这就是Shift+Enter的样子

因此,您可以手动替换它,也可以使用下面的VBA代码

非VBA方式

  • 按Ctrl+H打开“替换”对话框
  • 在“查找内容”框中,键入
    ^l
  • 在“替换为”框中,键入
    (空格不带引号)
  • 单击“全部替换”
  • VBA方式

    将此粘贴到模块中

    Sub Sample()
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = "^l"
            .Replacement.Text = " "
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchKashida = False
            .MatchDiacritics = False
            .MatchAlefHamza = False
            .MatchControl = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    End Sub
    

    我维护的PPT常见问题解答的这一页解释了PPT用于换行符和段落结尾的字符。它在不同版本和形状类型之间有所不同

    段落结尾和换行符

    你好。。。我想这是你另一个问题的延续。。。我猜你复制了整个
    段落
    ,而你应该复制没有
    结尾段落标记的文本。如果我的提示不足以让您自己解决问题,请添加代码中设置
    文本范围的部分,然后执行
    复制
    技巧…谢谢您的帮助。我想我是在寻找“结尾段落标记”,我只是不知道它叫什么。我将看看我现在能做什么:)我是否应该找到replace来删除手动换行符?而不是尝试剪切最后一个(不可见)标记。然而,可能还有另一个问题-您通过哪种方式将文本传递到Word文档。在粘贴之前,检查是否未在此处插入
    新段落标记
    。。。