Могу ли я изменить макрос, чтобы он вставлял тот же формат, что и предыдущий?

#ms-word #formatting #copy-paste

#ms-word #форматирование #копировать-вставить

Вопрос:

В этом коде у меня проблема в том, что он копирует текст, но принимает формат из нового документа, а не из предыдущего. Как я могу изменить то, что он принимает полный формат из предыдущего документа? (Сохраняйте форматирование исходного кода K)

 Private Sub CommandButton_Click()

If ActiveDocument.ProtectionType <> wdNoProtection Then
ActiveDocument.Unprotect Password:="LGRS"
End If

Dim newDoc As Document
Dim src As Range
Dim pages As Range

'set src range to start at page 2
Set src = ActiveDocument.GoTo(what:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2)
'extend range to the end of page 7
Set pages = ActiveDocument.GoTo(what:=wdGoToPage, Which:=wdGoToAbsolute, Count:=7)
src.End = pages.GoTo(what:=wdGoToBookmark, Name:="page").End
Set newDoc = Documents.Add(, wdNewBlankDocument)
newDoc.Content.FormattedText = src.FormattedText
'remove extra paragraph at end
With newDoc.Paragraphs.Last.Range
  If Len(.Text) = 1 Then .Delete
End With
newDoc.Paragraphs.Last.Range.Delete
newDoc.Save

Application.ActiveDocument.Protect wdAllowOnlyRevisions, Password:="LGRS"

End Sub
 

Комментарии:

1. Вы используете метод FormattedText, который копирует форматирование символов и текст из указанного диапазона src. Форматирование абзаца включено для любых меток абзаца в диапазоне ‘src’. Если вы не получаете желаемого форматирования, это должно повлиять только на последний абзац — если вы не включили его разрыв абзаца (например, потому, что абзац заканчивается на следующей странице). Форматирование на уровне разделов (например, настройка страницы, верхние и нижние колонтитулы) реплицируется только в том случае, если вы копируете соответствующие разрывы разделов.

2. Мой опыт работы с «сохранить форматирование исходного кода» заключается в том, что он копирует форматирование на уровне символов, но не форматирование стиля абзаца для уже используемых стилей. Для уже используемых стилей, даже если форматирование выполняется в стиле абзаца в исходном документе, вы получаете целевую копию в обычном стиле с прямым форматированием в соответствии с исходным.

3. Итак, есть ли способ решить проблему с этим кодом или мне нужно работать с другим?