复制文本的宏,然后在 MS Word 上隐藏复制的文本,保持格式

Macro to duplicate text then hide the duplicated text on MS Word keeping the formatting

我想从 Word 文档中复制文本(包括页眉、页脚、表格和文本框在内的所有内容),然后我想隐藏原始文本(或隐藏的文本),同时使用宏保留格式。

我做了一些研究并尝试做一些事情,这里是我到目前为止所做的:

Dim text As Word.Range
Set text = Selection.Range.Duplicate
Selection.InsertParagraphAfter
Selection.InsertAfter Text:=text.Text
text.Font.Hidden = True

这个宏的问题是它不复制文本的格式,而是将文本复制为“纯文本”。

您知道如何保持格式吗?

下面的代码应该可以满足您的需要。您需要确保 source 范围不包括 target 范围的开始。

Dim source As Range, target As Range
With ActiveDocument
    .Content.InsertParagraphAfter
    Set source = .Content
    source.MoveEnd wdParagraph, -1
    .Characters.Last.FormattedText = source.FormattedText
    source.Font.Hidden = True
End With