Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2016, 18:48   #1
catniponfire
Новичок
Джуниор
 
Регистрация: 09.12.2016
Сообщений: 3
По умолчанию Копировать текст между двумя фразами

Добрый день!
Прошу вашей помощи в связи с тем, что у меня на руках около 500 стран почти идентичного текста, который нужно преобразовать в excel. Не прошу помощи в полной автоматике, но, как я уже поняла, теоретически скопировать текст между двумя фразами в принципе можно с помощью макроса, и мне нужен один пример, чтобы допились его под свою ситуацию.
Прикладываю пример, объясняю.
Пример.docx

Теоретически мне нужно вытащить всю информацию в отдельные столбики в excel, единственное, что придумала я - это поэтапно вытаскивать фразы между названиями, к примеру, чтобы скопировать БЛАБЛАБЛА нужно скопировать текст между "Операционная компания: " и " Бренды:" на отдельный лист ворда в столбик, а потом перенести в excel.
Таких штук, как в примере у меня около тысячи, поэтому ручная обработка убьет мягко говоря большое количество времени. Очень прошу помощи и идей, сама разобралась только как безболезненно вытащить все email'ы...
catniponfire вне форума Ответить с цитированием
Старый 10.12.2016, 00:10   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

catniponfire,
сложность зависит от того, насколько идентичны названия в файлах. Если все файлы это выгрузка по единому алгоритму, всегда со всеми названиями (в т.ч. с пустыми значениями), то реализовать достаточно просто: в заголовок (первую строку) таблицы Excel записать названия полей, в доке искать текст
текущий_заголовок:*следующий_заголо вок:
в режиме подстановочных знаков, выделять из найденного фрагмента значение исходя из длины заголовков.
Или так: перед каждым заголовком вставить знак абзаца (в цикле заменить заголовок на ^pзаголовок), преобразовать весь текст в таблицу, разделитель двоеточие, дальше по идее можно брать второй столбец таблицы, чистить от табов и лишних пробелов и переносить в строку Excel (см. файл).
Вложения
Тип файла: docx Пример (4).docx (14.1 Кб, 25 просмотров)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 10.12.2016, 11:03   #3
catniponfire
Новичок
Джуниор
 
Регистрация: 09.12.2016
Сообщений: 3
По умолчанию

Нет, как я смотрю периодически отсутствует кусок с логистикой для тех, у кого ее нет. Что касается email и прочей мелочи, то да, даже если их нет, данный пункт присутствует со словом "нет".
Не говоря уже о том, что данные идут не единым текстом, а жутким бардаком, что не всегда решается даже удалением форматирования (это оцифрованный pdf).
Поэтому в первую очередь я подумала про поиск...
И сразу говорю, если с Excel я совершенно на ты, то с Word почему то исключительно на Ваше Величество, никогда не работала в нем, но про суть с абзацем поняла.
catniponfire вне форума Ответить с цитированием
Старый 10.12.2016, 12:18   #4
catniponfire
Новичок
Джуниор
 
Регистрация: 09.12.2016
Сообщений: 3
По умолчанию

Сделать, чтобы любой текст шел с нового абзаца (как нужный, так и заголовок) не проблема. Проблема вытащить нужные мне кусочки, желательно все разом, т.е. какая то работа само собой будет ручной, но мне было бы проще, образно говоря, вынести все email подряд на отдельный лист - перенести в ворд, вынести все бренды на отдельный лист - перенести в excel и тд
catniponfire вне форума Ответить с цитированием
Старый 23.12.2016, 23:31   #5
aequit
 
Регистрация: 25.02.2015
Сообщений: 5
По умолчанию

Цитата:
Сообщение от catniponfire Посмотреть сообщение
Проблема вытащить нужные мне кусочки, желательно все разом, - перенести в ворд, вынести все бренды на отдельный лист -
Посмотрите код, может что-то подойдет за основу, запускается из Excel, собирает со всех выбранных документов Word нужную последовательность символов между двумя строками, у меня работает, как раз дорабатываю для себя отсюда http://www.programmersforum.ru/showthread.php?t=193251
Вложения
Тип файла: txt kod.txt (4.0 Кб, 132 просмотров)
aequit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбрать текст между двумя словами, когда начало второго неизвестно artemavd Общие вопросы Delphi 2 17.11.2016 10:40
Высчет Растояний Между Фразами synthex Microsoft Office Excel 1 05.08.2014 14:57
найти разницу между двумя датами, а результат записать в письменном виде, так чтобы было согласование между падежами KatanaZh Microsoft Office Excel 15 27.11.2012 00:11
Поиск маршрутов между двумя городами между n городов DorianMark Паскаль, Turbo Pascal, PascalABC.NET 11 09.11.2011 00:46
Копировать текст из webbrowser в memo (включить ctrl+c ctrl+v) копировать - вставить Alar Работа с сетью в Delphi 13 12.07.2010 18:16