ivladislaw:
Зарплата — ясное дело украинское законодательство. Сумма прописью — в гривнах, поэтому числительные женского рода. Программа писалась так, что любой профессионал ругался бы — вариантные переменные, Option Explicit отсутствует. Однако она работала без ошибок в отличие от «суммы прописью» написанной другим человеком, работавшим ранее программистом «по всем правилам» — та сумму 2 грн с копейками превращала в 11 тысяч — прямо цифру в ячейке (такое можно легко сделать намеренно, но как появилась такая ошибка?). Есть ещё программа, верстающая журналы-ордера, ведомости и оборотный баланс в Excel на основании введённой книги хозяйственных операций. Когда этот же человек проявил инициативу и поставил всем Openoffice, ссылаясь на экономию денег — я был дико злым. Это плохо повлияло на моё отношение к Open Source вообще…
Думаю, что выложу шашки. Надо сказать, что сделал я их 6 или 7 лет назад и код, скорее всего, ужасен:)
Массовый поиск и замена в документах MS Office (Word и Excel)
Имеется большое количество документов Word или Excel и в каждом документе нужно
изменить несколько фраз. В каждом документе через замену (Найти и заменить ) это слишком долго.
Решение:
- Вариант с использованием макроса
- В виде приложения
a) для Microsoft Excel:
Скопировать макрос в папку с файлами, запустить макрос, задать условия замены, заключая их в кавычки.
выбрать любой файл из папки.
Программа пройдётся по всем листам всех книг (*.xls;*.xlsx) в этой папке,
и поменяет текст в заданной графе. Недостатком способа очевиден –
замена производится только в указанной графе.
Скачать макрос можно по ссылке
б) для Microsoft Word:
Создать новый документ Word, открыть редактор Microsoft VBA, добавить
новый модуль, скопировать текст процедуры ниже. О том как создать макрос более подробно написано
здесь.
При выполнении макроса нужно выбрать файлы, данные в которых подлежат замене:
Что изменить и на что изменить прописывается в теле макроса:
что_заменить = «123»
чем_заменить = «1234»
Сам макрос:
Для документов Word подойдет @Text Replacer — бecплaтнaя пpoгpaммa для быcтpoгo пoиcкa и зaмeны
тeкcтa в фaйлax из выбpaннoй пaпки и влoжeнныx пoдпaпoк.
Работает с дoкумeнтaми тeкcтoвoгo peдaктopa Word: *.doc, *.docx, *.rtf, фaйлaми тeкcтoвoгo фopмaтa:
*.txt, *.ini, *.html, *.php и дp., paбoтa c кoтopыми вoзмoжнa чepeз cтaндapтный Блoкнoт Windows.
Вce фaйлы дpугиx типoв oбpaбaтывaютcя пpoгpaммoй кaк тeкcтoвыe.
Пpoгpaммoй пoддepживaeтcя пoиcк и зaмeнa мнoгocтpoчныx фpaгмeнтoв тeкcтa c учeтoм peгиcтpa и
игнopиpуeмыx cимвoлoв — тaкиx кaк пpoбeлы и пepeвoды cтpoки (windows / *nix).
Программа бесплатная, скачать можно по
ссылке
с официального сайта программы
Не пробуйте @Text Replacer для документов Excel – программа их портит!
Для документов Excel попробуйте FireBall.exe – небольшую программу, не требующую установки.
Файлы Excel необходимо скопировать в папку с FireBall.exe.
В ходе работы программа создает новые файлы, добавляя к названию приставку new.
Скачать программу можно по
ссылке
Обновлено 22.09.2009г.
По просьбе автора макроса Евгения Родыгина и в связи с появлением новой усовершенствованной версии макроса (см. заметку Макрос пакетной замены от Александра Витера) я разместил ниже ссылку на скачивание новой версии.
Предположим, у вас есть несколько документов, в которых вам необходимо изменить определенный (одинаковый во всех документах) фрагмент текста на другой текст. Открывать эти документы по одному и вручную менять текст — утомительно. Ладно, если документов всего пять. А если их десять или того больше? Без средств автоматизации не обойтись.
Я для подобных задач пользуюсь отличной программой @Text Replacer от отечественных разработчиков. Эта программа предназначена для многострочного поиска и замены текста в различных текстовых файлах с учетом регистра и игнорируемых символов (перевод строки, пробел и т.д.).
Однако существует и решение на VBA (макрос), позволяющее искать и заменять фрагмент текста во всех файлах какой-либо папки. Этот макрос — Replace text on a batch of files — разработан несколькими уважаемыми людьми и опубликован на сайте Graham Mayor (Microsoft MVP).
Работает макрос следующим образом.
- Запускаете редактор Word и закрываете все открытые документы. Впрочем, макрос сам проверит наличие открытых документов и закроет, если обнаружит их.
- Выполняете макрос. В процессе работы макроса открываются несколько диалоговых окон (с заголовками на английском языке, но назначение окон интуитивно понятно), в первом из которых вы сначала указываете папку с вашими файлами-документами. Далее открываются следующие окна:
введите искомый текст и нажмите кнопку ОК
введите заменяющий текст и нажмите кнопку ОК
- Макрос осуществит все необходимые действия по замене текстовых фрагментов в ваших документах, открывая и закрывая их последовательно друг за другом.
Скопировать код макроса можно на этой странице.
Обновление:
Читатель сайта Евгений Родыгин предлагает другой вариант решения данной задачи — с использованием бесплатного макроса. Вот, что он пишет:
Большая проблема — поиск и замена текста в нескольких документах Word. Есть несколько платных программ для этого. Но есть, оказывается, бесплатный макрос от Word Search and Replace Version 2.30 Funduc Software, Inc..
Все бы хорошо, но этот макрос не поддерживает пакетную замену. Поэтому мы с товарищем слегка переделали его для пакетной замены (ссылка для скачивания документа с макросом внизу заметки).
На скриншоте видно, что достаточно лишь ввести нужные данные в три ячейки таблицы: путь к папке с файлами, искомый текст и текст для замены:
Обновлено 22.09.2009г.
По просьбе автора макроса Евгения Родыгина и в связи с появлением новой усовершенствованной версии макроса (см. заметку Макрос пакетной замены от Александра Витера) я разместил ниже ссылку на скачивание новой версии:
Замена текста
Простые и бесплатные программы для массовой замены текста в папках и файлах. Скачать для Windows с софт блога, программу которая способна заменить слова и целые предложения в нескольких документах.
EasyReplaceText – массовая замена фрагмента текста в до…
Простой софт предназначенный для замены фрагментов текста в текстовых файлах. Упрощает работу по поиску и замене фрагментов текста одновременно в нескольких фалах.
16.09.2020
Text Replacer – поиск и замена фрагмента текста
Мощный бесплатный инструмент для поиска и замены фрагмента текста в любых папках и файлах. Поддерживается замена целых строк, при этом можно пренебречь регистром и игнорировать спец символы (пробелы и переносы строк), также может искать в под папках выбранной папки.
16.08.2020
АРЕ – вставка или замена текста
Программа для поиска, удаления, вставки или замены текста в текстовых файлах. Незаменима при работе с большим количеством файлов. Очень удобна при добавлении или удалении пункта или пунктов меню на сайте, поэтому пригодится Web-дизайнерам, при обновлении сайта.
20.06.2016
Search and replace text – поиск и замена в тексте
Программа для поиска и замены в текстовых файлах по заданному слову или словосочетанию. Программа позволяет производить замену одностраничного и многостраничного текста, что особенно понравится программистам и веб разработчикам, когда нужно заменить целый «кусок» кода.
14.03.2016
Словогрыз – поиск и замена текста в документах
Программа предназначена для поиска и замены текста по маске. Специальные символы в масках поиска и замены позволяют более гибко задавать критерии поиска текста, чем обычный поиск строковых констант в текстовых редакторах.
31.01.2011
Пользователи Microsoft Office Word и Office Excel наверняка знакомы с такой замечательной функцией как “Поиск и замена”, позволяющей быстро исправлять допущенные или найденные в тексте ошибки. Впрочем, функциями поиска и замены обладают практически все, даже самые простые текстовые редакторы.
Тут важен не сам факт наличия данной функции, а ее универсальность. Хорошо известно, каким ограниченным является функционал инструментов поиска и замены в Блокноте. В то же время Word и Excel хоть и имеют достаточно широкий набор инструментов для поиска и замены в текстовом содержимом, не поддерживают пакетную обработку документов. Этой способностью обладает Notepad++, но опять же он не поддерживает работу с форматами Microsoft Office.
Как видите, не смотря на автоматизацию, при определенных обстоятельствах поиск и замена в тексте могут оказаться весьма трудоемкими. В таком случае вам на помощь придет замечательная утилита под названием Replace Genius. Отличительной чертой этого маленького, но очень полезного и мощного приложения является его универсальность.
Благодаря богатому набору специализированных функций Replace Genius позволяет обрабатывать текстовые документы как по одному, так и в пакетном режиме в полном соответствии с вашими индивидуальными потребностями. Replace Genius поддерживается простой поиск и замена, работа с регулярными выражениями, смещение строк, изменение регистра, предпросмотр результатов в режиме реального времени и множество других функций.
Программа имеет минималистский, но достаточно насыщенный интерфейс. На первый взгляд может показаться, что программа очень проста, однако это не так. Чтобы там не говорили, рассчитана она на опытных пользователей, хорошо знакомых с понятиями регулярных выражений.
К тому же в Replace Genius отсутствует русский язык. Одним словом, если вы не знакомы с английским языком, вам придется потратить немало времени чтобы разобраться во всех аспектах этого приложения. Приведем простейший пример пакетной замены текстовых данных. У нас есть папка с файлами в форматах doc, txt, rtf и xls.
Допустим, нам необходимо заменить слово “Windows” на “Linux”. Для этого в Replace Genius нам нужно создать пресет – шаблон, по которому утилита будет обрабатывать файлы.
Откройте программу, в левой панели переключитесь на вкладку Replace и введите в поля “Find” и “and replace with” нужные слова. Теперь давайте сохраним эту настройку в шаблон. Нажав клавишу F12, откройте менеджер пресетов, создайте в нем папку с любым удобным вам именем и нажмите “Add”. Также вы можете отредактировать уже имеющийся там шаблон Example. Затем жмем кнопку Batch и добавляем список файлов Microsoft Office.
В открывшемся опциональном окошке указываем нужный пресет, тип сохранения лучше оставить по умолчанию Save in this folder (только не забудьте указать папку, куда будут сохранены отредактированные копии) и жмем Ok. При этом откроется маленькое окошко, в котором будет обозначен список редактируемых документов.
Жмем Start и процесс пошел! Используя такие шаблоны можно за один раз редактировать множество файлов и, причем выполняя по несколько операций подряд над каждым из них. В нашем случае мы просто заменили “Windows” на “Linux”, но заодно можно выполнить еще массу других действий.
1 / 1 / 0 Регистрация: 16.05.2010 Сообщений: 6 |
|
1 |
|
Массовая замена однотипных данных16.05.2010, 11:04. Показов 14195. Ответов 15
Господа спецы! Очень нужна проф помощь. В документах ворд необходимо массово заменять однотипные данные: Ф.И.О., адреса, и т.д.
1 |
Заблокирован |
|
16.05.2010, 11:09 |
2 |
Gretta1105,
0 |
1 / 1 / 0 Регистрация: 16.05.2010 Сообщений: 6 |
|
16.05.2010, 11:30 [ТС] |
3 |
Сейчас попробую Добавлено через 17 минут рассмотрев надзорную жалобу И. на решение Свирского районного суда от 23 октября 2009 года и определение Судебной коллегии по гражданским делам Зарайского областного суда от 14 декабря 2009 года, состоявшиеся по гражданскому делу № 2-0000/09 по иску И. к Администрации Свирского района, С. о признании членом семьи нанимателя, включении в договор социального найма и по встречному иску С. к И. об обязании не чинить препятствия в пользовании жилым помещением, выдать комплект ключей.
0 |
Заблокирован |
|
16.05.2010, 11:58 |
4 |
Gretta1105,
0 |
1 / 1 / 0 Регистрация: 16.05.2010 Сообщений: 6 |
|
16.05.2010, 12:23 [ТС] |
5 |
вместо адреса например: зарегистрирован по адресу: город Москва, красная площадь, д.1 надо: зарегистрирован по адресу: <…>
0 |
Заблокирован |
||||
16.05.2010, 12:27 |
6 |
|||
Gretta1105,
.
0 |
1 / 1 / 0 Регистрация: 16.05.2010 Сообщений: 6 |
|
16.05.2010, 12:52 [ТС] |
7 |
Документы готовятся судьями. Дело в том, что во исполнение закона о доступе граждан к информации о деятельности судей, судебные постановления подлежат публикации в сети интерент, но с удалением ряда данных. Есть еще ряд данных, но они подлежат удалению из текста документа вообще.
0 |
Заблокирован |
|
16.05.2010, 13:31 |
8 |
Gretta1105, Добавлено через 15 минут
Автозамена также не помогает, это как?
0 |
1 / 1 / 0 Регистрация: 16.05.2010 Сообщений: 6 |
|
16.05.2010, 19:08 [ТС] |
9 |
ну можно посмотреть на практике. у нас сейчас вообще пока выбора нет, так что будем благодарны любой помощи Добавлено через 34 секунды
0 |
Заблокирован |
|
16.05.2010, 19:14 |
10 |
Gretta1105,
0 |
1 / 1 / 0 Регистрация: 16.05.2010 Сообщений: 6 |
|
16.05.2010, 19:26 [ТС] |
11 |
понятно. Просто было предложение записать макросс. Пробовал но у меня не получилось. Видимо не хватает знаний
0 |
Заблокирован |
||||
18.05.2010, 22:01 |
12 |
|||
Gretta1105,
Недочёт этого макроса в том, что в этом случае: За столом сидел Иванов Иван Иванович. Получится За столом сидел И.. Если вы хорошо знаете документы и знаете, что ничего не слетит, то можно заменить «2 точки» на «1 точку». Если вы также хорошо знаете документ, то нужно провести замену «пробел + точка» на «точка».
0 |
5561 / 1367 / 150 Регистрация: 08.02.2009 Сообщений: 4,107 Записей в блоге: 30 |
|
19.05.2010, 02:08 |
13 |
Господа спецы!.. Вот вам вразумительная ссылка: http://www.interface.ru/home.asp?artId=2958 ФИО, написанные:
Word позволяет корректно сократить до инициала с точкой в два шага (см. рисунки). Чтоб вам не путаться, оба выражения (достаточно лишь второе) скопируйте (пробел важен!): Т. о., настроив поиск, вы очень быстро замените если не все сразу, то поочерёдно нужные вам ФИО. Миниатюры
0 |
5561 / 1367 / 150 Регистрация: 08.02.2009 Сообщений: 4,107 Записей в блоге: 30 |
|
19.05.2010, 02:40 |
14 |
В итоге я и сам запутался! Второе выражение (для замен не в конце предложений)* таково: Заменять его следует на: 1 — это и есть 1-й инициал (первые скобки); . это точка; 2 — вторые скобки: символ текста (сразу за отчеством), но не точка. * а Вам такие в основном и нужны!
0 |
Заблокирован |
|
19.05.2010, 21:19 |
15 |
Sasha_Smirnov,
0 |
5561 / 1367 / 150 Регистрация: 08.02.2009 Сообщений: 4,107 Записей в блоге: 30 |
|||||
21.05.2010, 03:34 |
16 |
||||
Если выделено не то, что нужно, то нажимаем кнопку Пропустить и движемся дальше. Вероятно, какие-то ФИО останутся и надо будет потом снова проверять весь документ. Только вместо Пропустить — Найти далее!
0 |