Как скопировать текст из одного документа в другой с одинаковым форматированием? - PullRequest
1 голос
/ 24 января 2020

У меня есть этот код для копирования некоторого текста из одного документа в новый.

For Each rng In docSource.SpellingErrors
   docNew.Range.InsertAfter rng.text & vbCr
Next

Шина, это не копирование исходного формата.

Я пытаюсь со следующим строка, но я получаю ошибку

Ожидаемая функция или переменная

docNew.Range.InsertAfter rng.PasteAndFormat(wdPasteDefault) & vbCr

Как я могу это сделать? Заранее спасибо.

Ниже приведен тестовый текст с ошибками.

When you create a Microsoft Word document for other people to read , it's important to spot and correct any speling mistakes

or gramatical errors you've made. You can let Word's spelling and grammmar

checkers suggest corrections automaticaly while you working , or you can check the spelling and gramar in the the file all 

at once when you're finishes writing your document . Microsoft Word 2010 come with some dictionary of standardd grammar and spellings, but they are not comprehensive.

1 Ответ

1 голос
/ 26 января 2020

Для переноса содержимого из одного документа Word в другой обычно лучше использовать Range.FormattedText, а не буфер обмена.

Вот как-то так

Set docNewRange = docNew.Content
For Each rng In docSource.SpellingErrors
   docNewRange.FormattedText = rng.FormattedText 
   docNewRange.Collapse wdCollapseEnd
   docNewRange.InsertAfter vbCr
   docNewRange.Collapse wdCollapseEnd
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...