Добрый день!
Файл - шрифт.docx - носит в себе СПЕЦ. шрифт и файл используется для работы.Font.Name = "Fox Book"
Файл - тест1.docx - тестовый файл.
Подскажите как можно автоматизировать открытие файла шрифт.docx, вставка в него текста из Файла - тест1.docx обработанного это макросом MacroName:="Test3" макрос в файле. Сохранить Файл - шрифт.docx
При копировании текста из одного файла в другой может измениться оформление: жирность, курсив, размер, списки и другое.
Если требуется сохранить исходное форматирование, выполните следующие действия: При вырезании или копировании исходного текста включите в него знак абзаца (¶). Примечание. Чтобы отобразить знак абзаца, нажмите кнопку Отобразить все знаки (¶) в группе Абзац на вкладке Главная. Вставьте текст. Нажмите кнопку Параметры вставки, а затем выберите команду Сохранить исходное форматирование.
Главное как это выполнить Надо обработать макросом текст скопировать егои с исходным форматированием вставить в Файл - шрифт.docx
Перед запуском макроса какой-нибудь из этих двух файлов будет открыт?
Цитата:
скопировать егои с исходным форматированием
В Ворде не всё так просто, очень много нюансов, может не получиться скопировать с исходным форматированием. Я об этом написал в ответе 1.
не получается( надо или указывать папку с файлом или задание на открытие документов
Не понял, что вы хотели пояснить ответом 4.
Форматирование привязано к стилю. Fox Book, при обработке макросом применить стиль Fox Book а при вставке в Файл - шрифт.docx есть тоже стиль Fox Book
Перед запуском макроса будут открыты оба файла, о которых вы написали в первом сообщении? Как вы представляли это?
Ну да перед запуском макроса из файла тест1.docm открыт только файл тест1.docm отработал макрос открываем второй файл шрифт.docx и вставляем в него обработанный текст. или как вариант оба файла открыты первый обработали и вставили во второй
В этой строке укажите полное имя (путь + имя) файла, в котором шрифт:
Set DocFont = Documents.Open("C:\Users\User\Desktop\шрифт.docx")
Предполагается, что перед запуском макроса активным документом является файл "тест1.docm".
Предполагается, что перед запуском макроса файл "шрифт.docx" закрыт.
Макрос
Sub Test3()
Dim DocAct As Document, DocFont As Document
Dim objWord As Word.Range, iCount&: iCount = 1
Const chars = "*[.,;:!?(){}" & vbCr & "]*"
Set DocAct = ActiveDocument
For Each objWord In DocAct.Words
If Not objWord.Text Like chars Then
If iCount Mod 3 = 0 Then objWord.Font.Name = "Fox Book"
iCount = iCount + 1
End If
Next
Set DocFont = Documents.Open("C:\Users\User\Desktop\шрифт.docx")
DocAct.Range.Copy
DocFont.Range.PasteAndFormat wdFormatOriginalFormatting
DocFont.Save
End Sub
Администратор, спасибо большое, то что надо. Респект и уважение.
С Новым Вас Годом!!!