Кто-нибудь понял, как я могу передавать текст из одного документа в другой без использования буфера обмена, но сохраняя все форматирование в тексте (например, жирным шрифтом и курсивом)?Word VBA Использование альтернативы буферу
Вот как я это делаю в данный момент (между этими строками есть много кода, которые открывают документы в каталоге для меня, но сейчас я их опускаю, поэтому могу дойти до точки):
Dim rng1, rng2, rngFound as Range
Dim FSO as Scripting.FileSystemObject
For Each File1 in FSO.GetFolder(Directory).Files
'...Open first Document and get cursor to Point A to mark the start of the text
Documents.Open(File1.Path)
Set rng1 = Selection.Range
'...Move cursor to point B to mark the end of the text
Set rng2 = Selection.Range
'...Combine the 2 points and capture everything in between into Clipboard
Set rngFound = (rng1.Start, rng2.Start)
rngFound.Copy
ActiveDocument.Close
'...Open up second Document and paste it in
Documents.Open(File2.Path)
Selection.PasteAndFormat (wdFormatSurroundingFormattingWithEmphasis)
ActiveDocument.Save
ActiveDocument.Close
Next
Проблема с делать это таким образом, что я не могу использовать буфер обмена в то время как это работает (это петли в каталоге сотен документов, так занимает некоторое время).
Я хотел бы найти способ сделать это без буфера обмена, но таким образом, что сохраняет форматирование из одного дока к другим (Важно). #
Надежды, что имеет смысл, спасибо advance :)
Посмотрите на элемент форматированного текста объекта Range. – 2014-09-02 06:00:50