Скопировать результаты поиска

Автор pojar, 20 июня 2016, 10:45

0 Пользователи и 1 гость просматривают эту тему.

pojar

LO 5.1.3.2
Есть большая книга, много листов, столбцов, строк.
Делается поиск телефонов регуляркой по всем листам.
Найденное выводятся красивым списком, один вопрос:
КАК скопировать или сохранить найденный список телефонов?!
Странность, но факт - результаты поиска не выделяются и не копируются.

rami

Если все найденые телефоны находятся в одном столбце, то закройте окно "Результаты поиска" и скопируйте найденное (ячейки с результатами будут выделены), вставьте в нужном месте. Если результаты поиска в разных столбцах, то не скопируется.

А вообще разработчики могли бы добавить кнопку "Скопировать найденное"

economist

Это "поле игры" для SQL-запроса:

а) именуете все диапазоны на каждом листе примерно так ТелефоныМСК, ТелефоныСпБ, ТелефоныРнД
б) создаете базу данных, подключиться - Таблица - выбрать ODS
в) создаете в БД Запрос, а из него - Представление (ТелКнига), включающее все таблицы всех листов:   
SELECT * FROM ТелефоныМСК
UNION
SELECT * FROM ТелефоныСпБ,
UNION
SELECT * FROM ТелефоныРнД

г) далее пишете запрос, который просит ввести то что ищем, скажем часть имени отдела:

SELECT * FROM ТелКнига WHERE Отдел LIKE "%" || :НаваниеОтдел || "%"

д) теперь в OpenOffice и LibreOffice Writer или Calc жмем F4, находим Запрос, вводим "сбыта", видим результат и перетаскиваем его в документ. У вас получилась табличка - список всех телефонов всех отделов сбыта всех 3-х филиалов.

Удобно - не то слово!   
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

pojar

Спасибо за советы, но видно плохо поставил задачу. Думал и так понятно будет, что я ищу именно возможность скопировать результаты поиска, а не как решить по-другому.
Могу добавить что:
- Данные высланы на обработку "как есть", я ни их автор, и не мой огород, чтобы там городить как положено.
- Телефоны могут встречаться практически в любых ячейках внутри текста в произвольном формате, например "Света 072-123243 230руб", естественно, не в одном столбце.
Я так понимаю, что мне не показалось, и если нужны результаты поиска, то единственный доступный вариант это, страшно сказать, делать скриншоты с которых потом распознавать текст  :o .
До такого Штирлиц в своей опенсорсной жизни ещё не опускался, но всё бывает впервые.

economist

Решал бы эту бестолковую задачу так:

1) макрос записывает содержимое всех листов построчно в один TXT файл: Далбица.txt.
2) БД как в #2, только Подключиться - Текст
3) Запрос
SELECT * FROM Далбица WHERE Столбец1 LIKE "%" || :ЧастьНомера || "%"

- потребует ввода части номера выдаст все строки, где есть 123243

4) Этот запрос можно вытащить в пустой лист или в текстовый документ. Распознавать скриншот с такими безобразными по структуре данными - трата времени. 

Но вы должны понимать, что если будет написано так: 072-123 243 230 руб - понять где начинаются рубли сможет только тот, кто это вносил. Бардак автоматизировать невозможно, сочувствую...   
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

pojar

Формат найденых строк не так важен в данном случае, надо просто вывести список всех номеров так как они встречаются в ячейках, с именами значит с именами.

economist

Один и тот же номер написан по-разному, как вы будете его искать ОДНИМ запросом/поиском?

"Света 072-123243 230руб"
"Света 072-123-243 230 руб"
"Света 072-123 243 230 руб"
 
Если формат строки все таки такой (3 части): СЛОВО ТЕЛЕФОНБЕЗПРОБЕЛОВ СУММАРУБВОЗМОЖНОСЛИТНОИЛИСПРОБЕЛОМ - то да, мой способ будет 100% работать и будет быстрее любого другого.
Новый файл нужно просто записать поверх старого, запустить Calc и нажать F4
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

pojar

При чем тут "как я буду искать"? Я уже нашел регуляркой всё что мне надо, что и написал в самом начале. Лицезрею перед собой длинный список данных, которые мне как раз и нужны. Вопрос именно в том, как их сохранить, если это вообще возможно.
Заметьте, я ведь не спросил: можно ли решать задачу другим способом? Если бы меня это интересовало на данном этапе, то наверное с этого и начал бы, не кажется ли вам?
Если единственный правильный ответ тут: "В Calc нет возможности использовать результаты поиска, ими можно только любоваться", то почему бы вначале не признать проблему, что именно Calc в этом месте "бестолковый", а не задача или юзер. А уже потом, если это кому-то интересно, предлагать альтернативы.

kompilainenn

я возможности копировать результаты поиска по нескольким листам не нашел в Calc. интересная проблема...
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

pojar

Уточню еще что ищу через Поиск/Замена, т.к. там есть возможность искать по рег.выражениям и поставить галочку "Поиск во всех листах".
Примечательно, что если искать простым поиском "Найти все", то после закрытия окошка с результатами все ячейки выделяются и их можно скопировать. А если искать регуляркой, то так у меня не получается. Или делаю не так, или не предусмотрено.

economist

В Calc (и Excel тоже) - нет возможности использовать результаты поиска, ими можно только любоваться.
Или использовать для быстрого перехода/выделения.

Если вам нужно находить информацию ВЕЗДЕ и получать ее в виде СПИСКА в документе - стоит задуматься КАК это сделать, а не выжимать из Диалога Ctrl+H то, чего в нем нет.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

pojar

Эх, жалко. Кстати, а в Экселе то же самое? Я думал там лучше на этот счет.
Ну раз так, то проще экспортировать и поискать другими инструментами.
Хотя обидно. Смотреть можно, руками щупать нельзя.

kompilainenn

Цитата: pojar от 21 июня 2016, 07:53Эх, жалко. Кстати, а в Экселе то же самое? Я думал там лучше на этот счет.
Ну раз так, то проще экспортировать и поискать другими инструментами.
Хотя обидно. Смотреть можно, руками щупать нельзя.
я багу завел в багзилле, однако не факт, что они реализуют возможность копировать результаты поиска
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

JohnSUN

Поскольку дальнейшее обсуждение относится к реализации запрошенной потребности с помощью макроса, то оно перенесено в Расширение Corsair - поиск с копированием в книге Calc
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне