|
6 / 6 / 6
Регистрация: 01.09.2015
Сообщений: 52
|
|
Как организовать взаимодействие C# с окном "Найти" в Excel?10.12.2015, 23:16. Показов 933. Ответов 14
Привет!
Есть задача. Программа должна взаимодействовать с поиском Excel. А именно программа вызывает в Excel окно поиска и добавляет слова по которым он должен быть произведен. Затем найденные список данных возвращаются в программу и она с ним работает. Структура файла Excel: 1 столбец, 20 тыс строк. Интересен подход к взаимодействию с поиском Excel'я. Как же построить поиск в Excel средствами C#? У кого-то из Вас была подобная (приближенно) практика? Опыт? Отправьте, пожалуйста, в ответ полезные ссылки или исходники. Буду очень признателен. Я разберусь.
0
|
|
| 10.12.2015, 23:16 | |
|
Ответы с готовыми решениями:
14
Взаимодействие со сторонним окном Взаимодействие со свёрнутым окном Взаимодействие со свёрнутым окном |
|
|
|
| 11.12.2015, 04:29 | |
|
Monty161, для того, что бы написать в окно поиска нужно его найти https://social.msdn.microsoft.... rdesktopru. Отправить сообщения с новым текстом: https://msdn.microsoft.com/ru-... s.85).aspx.
Добавлено через 1 минуту Для поиска вам пригодиться программка spy++ https://msdn.microsoft.com/ru-... 60756.aspx
1
|
|
|
TheGreatCornholio
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
|
|||
| 11.12.2015, 08:38 | |||
|
Зачем эти адские костыли?
Microsoft.Office.Interop.Excel - подключаешься к открытому Excel, получаешь диапазон данных, делаешь поиск, либо пробуешь вызвать поиск. Но, взаимодействие с окном - бред по моему. Неужели нужно строго именно так? ![]() Добавлено через 3 минуты Читать тут.
1
|
|||
|
6 / 6 / 6
Регистрация: 01.09.2015
Сообщений: 52
|
||||||
| 14.12.2015, 22:43 [ТС] | ||||||
|
Woldemar89, есть вопрос. Файл-это черный список. Каждая строка того файла Excel представляет собой домен. Моя программа должна генерировать набор доменов из частей доменов файла (т.е брать домены, разбивать их на части, случайным образом выбирать части и лепить новые). А потом я должен проверять, является ли сгенерированный домен запрещенным (то бишь в черном списке он) или нет.
К примеру: Допустим у меня в черном списке лежит cs.idey.net Программа сгенерировала da.idey.net. В этом случае новый домен не черносписочный (если только idey.net не в черном списке) Проверку придется осуществлять поиском по дереву. Дерево строится из доменов черного списка. Я в этот список закидываю сплитованный домен из черного списка.
2)Меня категорически смущает конструктор класса. Во-первых, не все домены обладают таким числом уровней и в конструктор приходится запихивать пустую строку. Во-вторых, мой рендом в качестве кусочков использует и эти самые пустые строки. В длинных случайных доменах получается бред типа ahsjdha....co.uk или eruwer..com. Но иногда конечно проскакивают нормальные. Но в общем случае работает хорошо только для двух уровней. 3) Может быть сделать список динамических списков? Мне хотелось бы найти конструкцию, которая бы позволила мне осуществить и генерацию, и построение дерева, и поиск на запрещёнство. Если сталкивались с таким, то пожалуйста подкиньте идею. Потому что у меня тут реально затык. Придумываю как его обойти.
0
|
||||||
|
TheGreatCornholio
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
|
||
| 14.12.2015, 23:10 | ||
|
Monty161, для начала опишите изначальную задачу, а то вдруг решаете через пятую точку,
давайте начнем с вопроса - зачем вам все это? Какой функционал хотите реализовать? Добавлено через 3 минуты Да и вообще, как это к теме относится про "Найти в екселе?" файл-чсписок - в екселевском формате? Один вопрос - одна тема, если вопрос не отностится к "Найти в екселе?" - создавайте новую тему.
0
|
||
|
6 / 6 / 6
Регистрация: 01.09.2015
Сообщений: 52
|
|
| 14.12.2015, 23:44 [ТС] | |
|
Woldemar89,
1)идея с поиском в Excel была связана с упрощением поиска и некоторой группировкой. Я от неё отказался 2)Моя программа - это консольное приложение. Оно работает с файлом .csv, в котором находится 20 000 доменов. Это черный список 3)Моя задача: взять из черного списка домены и нагенерировать новых, используя части черносписочных доменов. Генерация происходит случайным образом. Далее, каждый домен из генерированного списка я должен проверить и вывести результат проверки для каждого. Что значит проверить? К примеру: Допустим у меня в черном списке лежит cs.idey.net Программа сгенерировала da.idey.net. В этом случае новый домен не черносписочный (если только idey.net не в черном списке) и надо вывести "бла-бла всё хорошо" Что мне необходимо (мой план): 1) Произвести запись в массив строк из файла .csv 2) Реализовать сплит домена 3) Создать конструкцию (склоняюсь к списку динамических списков ), которая будет хранить каждый домен в "разобранном" виде. При этом конструкция должна позволять обращаться к каждой части домена 4) Реализация конструкции осложняется тем,что некоторые домены могут иметь много уровней, а другие всего два. Это может помешать адекватному рендому 5) Используя конструкцию случайным образом выбрать некоторое число её элементов, затем у них выбрать тоже случайным образом части и слепить новый список доменов 6) Реализовать черный список в виде дерева. Уровни дерева = уровень доменов. 1-й уровень - TLD. Но опять же: реализация дерева зависит от конструкции 7) Используя поиск по дереву определить является ли сгенерированный домен запрещенным 8) Вывести результат для каждого сгенерированного домена: запрещен или нет Добавлено через 2 минуты Woldemar89, Вот я и хочу выяснить какого типа конструкцию стоит использовать. Поэтому и спрашиваю совета. Буду благодарен. Дальше разберусь.
0
|
|
|
TheGreatCornholio
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
|
|||||
| 14.12.2015, 23:54 | |||||
|
Добавлено через 2 минуты И зачем дерево? Добавлено через 2 минуты И если все таки перебор - он у вас долго продлится))
0
|
|||||
|
6 / 6 / 6
Регистрация: 01.09.2015
Сообщений: 52
|
||||||
| 15.12.2015, 00:09 [ТС] | ||||||
|
Woldemar89,
1)повторы могут быть. Это не проблема. 2) Как причем случайность?) Мне же надо слепить список доменов для дальнейшей проверки. Вот допустим у меня есть список, в котором каждый домен представлен в "разобранном" виде ( то бишь строки ). Мне нужно сгенерировать N доменов с двумя уровнями.
4) Дерево нужно построить для того, чтобы поиск был быстрее, чем перебор
0
|
||||||
|
TheGreatCornholio
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
|
|
| 15.12.2015, 00:11 | |
|
0
|
|
|
6 / 6 / 6
Регистрация: 01.09.2015
Сообщений: 52
|
|
| 15.12.2015, 00:29 [ТС] | |
|
Woldemar89, задача у меня есть такая)
0
|
|
|
TheGreatCornholio
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
|
||||||||
| 15.12.2015, 14:29 | ||||||||
Такое наверняка запрещено на форуме обсуждать.Ну или утаиваете гениальную идею, что навряд ли. Класс DomainLevelsName выглядит странно. Дерево на примере.
0
|
||||||||
|
6 / 6 / 6
Регистрация: 01.09.2015
Сообщений: 52
|
|
| 15.12.2015, 14:45 [ТС] | |
|
0
|
|
|
TheGreatCornholio
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
|
|
| 15.12.2015, 14:47 | |
|
Monty161, я не утверждал, там знак вопроса был
Чего скрывать то там можно?
0
|
|
|
6 / 6 / 6
Регистрация: 01.09.2015
Сообщений: 52
|
|
| 15.12.2015, 14:54 [ТС] | |
|
Woldemar89, а я ничего не скрывал) я выложил условие, план. моя цель: разобраться. Повысить уровень знаний в деле работы с данными средствами C#. А задачу эту я нашёл на GitHub.
0
|
|
|
TheGreatCornholio
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
|
||
| 15.12.2015, 15:08 | ||
|
Сразу же не сказал
С третьего раза только А время на что попало тратить неохота. Часть файла бы привел еще. Добавлено через 1 минуту А вообще я писал уже что нужно сделать -
0
|
||
| 15.12.2015, 15:08 | |
|
Помогаю со студенческими работами здесь
15
Взаимодействие слушателя с окном Как организовать взаимодействие кнопок? Взаимодействие с кнопками. как организовать Как организовать взаимодействие процессов ? Как организовать межпрограммное взаимодействие? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|