Простые макросы для Ворд 2016 х64
300 UAHЕсть несколько заданий:
1. Нужен макрос для Ворд, на основе моего, но чтобы он делал замену всяких вариацих ", с. ", при условии, что каждая искомая комбинация из массива находится между цифрами. Пример, макрос поменяет ссылку на литературу с [16 , с .22] на [16, с. 22], но оставит "А. Б. Остапенко, С. Ф. Иванов" и не сделает с фразы "А. Б. Остапенко, с. Ф. Иванов". Дригими словами, макрос сделает подмену из массива только при наличии каждой искомой комбинации между цифрами.
Мой старый вариант макроса, который меняет искомую комбинацию везде и не смотри, стоит она в ссылке или это инициалы автора:
'Заміна різних комбінацій ", С." на нормальну комбінацію ", с. " - для посилань на літературу
Set rDoc = ActiveDocument.Range
'список возможных замен
sText = Array(" , С. ", " ,С. ", " , С . ", " ,С . ", ", С. ", ",С. ", ", С . ", ",С . ", " , с. ", " ,с. ", " , с . ", " ,с . ", ",с. ", ", с . ", ",с . ", ",с.", ", С.", ", с.", " , С. ", " ,С. ", " , С . ", " ,С . ", ", С. ", ",С. ", ", С . ", ",С . ", " , с. ", " ,с. ", " , с . ", " ,с . ", ",с. ", ", с . ", ",с . ", ",с.", ", С.", ", с.", " , C. ", " ,C. ", " , C . ", " ,C . ", ", C. ", ",C. ", ", C . ", ",C . ", " , c. ", " ,c. ", " , c . ", " ,c . ", ",c. ", ", c . ", ",c . ", ",c.", ", C.", ", c.")
sReplText = Array(", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ", ", с. ")
Application.ScreenUpdating = False ' Запрещаем обновление экрана во время работы макроса
With rDoc.Find 'заменяем все блоки на соответствующие блоки
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = False
.Format = False
.MatchCase = True
.MatchWholeWord = False
For i = LBound(sText) To UBound(sReplText)
.Text = sText(i)
.Replacement.Text = sReplText(i)
.Execute Replace:=wdReplaceAll
Next i
End With
Application.ScreenUpdating = True ' Обновляем экран
2. Нужен макрос, при запуске которого будет обрезана половина страниц документа и сохранена под именем temp в ту же папку, откуда и открыт исходный файл. Все документы будут иметь больше одной страницы. Например: открываю документ на 10 страниц, запускаю макрос, в результате он сохраняет копию открытого документа в ту же папку на с 5-ю первыми страницами и под именем temp.
3. Нужен макрос замены тире между цифрами на дефис. Например: макрос заменит комбинацию "11–15 років" с тире между ними (долгая черточка) на "11-15 років" з дефисом между ними (короткая черточка), но только если тире стоит между цифрами.
4. Нужен макрос, который найдет все ссылки на литературу и допишет к числу после первой скобки 000 или 00 или 0, в зависимости от разрядности числа. Например: [116, с. 22] он заменит на [0116, с . 22], [16, с. 22] на [0016, с. 22], [6, с. 22] на [0006, с. 22]. Другими словами, макрос допишет недостающие ноли перед кодом источника литературы, чтобы число стало четырехзначное, посмотрев на количество цифр после скобки.
-
как то вы низко цените работу программистов
-
я не програмист
-
Вибачте, уже знайшов автора.
-
Просто ви дістали безпредметною тошніловкою. Якщо вас не влаштовує моя пропозиція, просто відмовтесь, я ж вам нічого не нав'язую.
-
Актуальные фриланс-проекты в категории Десктопные приложения
Инструмент сверки счетов с банком, картами и бухгалтеромТехническое задание: инструмент сверки счетов с банком, картами и бухгалтеромОбщая цель Нужен локальный инструмент (скрипт/небольшое приложение на Python), который запускается вручную раз в 1-2 месяца на моём компьютере и делает сверку между: Счетами, которые я выставил клиентам… Python, Десктопные приложения ∙ 15 часов 36 минут назад ∙ 31 ставка |
Добавить паузы 10-30 секунд между отправками писемЗдравствуйте! Ищу опытного программиста 1С / BAS (BAF) для оперативного решения технической проблемы с почтовой рассылкой.Суть проблемы: Используем бухгалтерскую программу BAF (Business Automation Framework), редакция 2.0. Раз в месяц возникает необходимость массово отправлять… Веб-программирование, Десктопные приложения ∙ 6 дней 7 часов назад ∙ 10 ставок |
Реверс-инжиниринг консольных утилит для опроса контроллеров SSD (Flash ID)1. Цель работы Выделение программного интерфейса (API) взаимодействия с контроллерами SSD/NVMe из предоставленного набора консольных утилит (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron и др.). Результатом должно стать рабочий код на языке C/C++ или точная… C и C++, Десктопные приложения ∙ 6 дней 18 часов назад ∙ 6 ставок |