Выполнить сценарий

Автор Посетитель 29.10.2022, 01 января 2023, 20:34

Посетитель 29.10.2022

Добрый день!
Файл - шрифт.docx - носит в себе СПЕЦ. шрифт и файл используется для работы.Font.Name = "Fox Book"
Файл - тест1.docx - тестовый файл.
Подскажите как можно автоматизировать открытие файла шрифт.docx, вставка в него текста из Файла - тест1.docx   обработанного это макросом MacroName:="Test3" макрос в файле. Сохранить Файл - шрифт.docx 

Администратор

При копировании текста из одного файла в другой может измениться оформление: жирность, курсив, размер, списки и другое.

Посетитель 29.10.2022

Если требуется сохранить исходное форматирование, выполните следующие действия: При вырезании или копировании исходного текста включите в него знак абзаца (¶). Примечание. Чтобы отобразить знак абзаца, нажмите кнопку Отобразить все знаки (¶) в группе Абзац на вкладке Главная. Вставьте текст. Нажмите кнопку Параметры вставки, а затем выберите команду Сохранить исходное форматирование.
Главное как это выполнить  Надо обработать макросом текст скопировать егои с исходным форматированием вставить в Файл - шрифт.docx

Администратор

Перед запуском макроса какой-нибудь из этих двух файлов будет открыт?

Цитата:
скопировать егои с исходным форматированием

В Ворде не всё так просто, очень много нюансов, может не получиться скопировать с исходным форматированием. Я об этом написал в ответе 1.

Посетитель 29.10.2022

не получается( надо или указывать папку с файлом или задание на открытие документов

Администратор

Не понял, что вы хотели пояснить ответом 4.

Посетитель 29.10.2022

Форматирование привязано  к стилю. Fox Book, при обработке макросом применить стиль Fox Book а при вставке в Файл - шрифт.docx есть тоже стиль  Fox Book

Администратор

Перед запуском макроса будут открыты оба файла, о которых вы написали в первом сообщении? Как вы представляли это?

Посетитель 29.10.2022

Ну да перед запуском макроса из файла тест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
[свернуть]

Посетитель 29.10.2022

Администратор, спасибо большое, то что надо. Респект и уважение.
С Новым Вас Годом!!!