Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - сканирование xls

Ответить
Настройки темы
C/C++ - сканирование xls

Аватара для Surround

Ветеран


Сообщения: 908
Благодарности: 20

Профиль | Отправить PM | Цитировать


Hi!
есть такая задача: нужно заглядывать в xls файлик, и если там какая-то ячейка выделена красным цветом, то в трее выводить об этом уведомление.

Отправлено: 14:20, 23-02-2008

 

Старожил


Сообщения: 369
Благодарности: 49

Профиль | Отправить PM | Цитировать


Есть уточнение - красный цвет в ячейке проставляется автоматически или ещё кем то кроме Вас?
А "трей" можно заменить всплывающей подсказкой - которая будет автоматически разворачивать окно программы с вашим файлом и находиться по середине экрана когда произойдёт событие с окрашиванием ячейки в красный цвет. Можно заменить "окрашивание ячейки в красный цвет" - "всплывающей подсказкой с указнием соответствующей ячейки". Словом - есть варианты

Отправлено: 18:10, 23-02-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Surround

Ветеран


Сообщения: 908
Благодарности: 20

Профиль | Отправить PM | Цитировать


azbest, файл отчетности выполнения плана. Красным ячейка проставляется пользователем. А программка, лежащая на каждом компе, сканирует этот общий файл. И если в нем есть красная ячейка, выдавала бы предупреждение.

Отправлено: 18:15, 23-02-2008 | #3


Старожил


Сообщения: 435
Благодарности: 63

Профиль | Отправить PM | Цитировать


Первый вариант - коннектитесь к Excel с открытым файлом и проверяете выделена ли ячейка. Как это сделать читаете в недрах справки по VBA, там это где-то было.
Второй - на LOR недавно была тема, что MS отркыла форматы документов Office, если это верно, то можно почитать их и тогда возможно получится проверять наличие ячейки не открывая файл в Exel.

-------
black-eric.livejournal.com

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:51, 24-02-2008 | #4


Старожил


Сообщения: 369
Благодарности: 49

Профиль | Отправить PM | Цитировать


Я не знаю как сканирует ваша програмка на каждом компьютере один общий для этого файл.
Но чисто теоретически я решил бы это так.
Автоматически определил сколько в списке есть строк.
Оформил цикл построчного просмотра конкретного столбца (скорее всего в нём и проставляются "атрибуты" просматриваемых ячеек) со считыванием "атрибутов" просматриваемой ячейки и если её фоновый цвет - красный, - записал бы её порядковый номер в какую нибудь новую строку, а в конце просмотра общего списка - вывел бы результат с адресами в любую свободную строку.
А потом ещё бы оформил один макрос с перемещением по указанным адресам и предоставлением пользователю делать с этим адресами то что ему нужно по работе.

Отправлено: 18:47, 25-02-2008 | #5


Старожил


Сообщения: 435
Благодарности: 63

Профиль | Отправить PM | Цитировать


azbest, здесь основная проблема, как получить фоновый цвет ячейки, а пройтись в цикле по столбцу не проблема, все есть в справке по VBA.

-------
black-eric.livejournal.com


Отправлено: 19:57, 25-02-2008 | #6


Старожил


Сообщения: 181
Благодарности: 43

Профиль | Отправить PM | Цитировать


BlackEric, проблемы с определением цвета нет - http://forum.oszone.net/post-735336-5.html.
Surround, сколько компов в сети, и как часто надо опрашивать файл? Нагрузка-то на сеть возрастет...

Отправлено: 21:15, 25-02-2008 | #7


Аватара для Surround

Ветеран


Сообщения: 908
Благодарности: 20

Профиль | Отправить PM | Цитировать


Alexej77, интервал опроса настраивается.
VBA? но ведь цель - сделать это средствами C#. Хотя как вариант, можно просто опросить текст, ведь в выделенной ячейне он что-то типа "не выполнено" и более нигде не встречается

Отправлено: 00:26, 26-02-2008 | #8


Старожил


Сообщения: 181
Благодарности: 43

Профиль | Отправить PM | Цитировать


Surround, на VBA пример того, как определить цвет ячейки. На C# примерно также, я думаю, будет. Кстати, про C# ты только сейчас написал...

Я тут вот чего придумал. В xls-файле на VBA написать процедуру, которая будет отсылать широковещательное сообщение в сеть при наличии ячейки нужного цвета. Эту процедуру повесить на событие BeforeSave. Процедура будет выполняться в момент сохранения файла, но перед физическим сохранением, которое произойдет сразу после окончания процедуры. На компах в сети будет установлена прога (или сервис) на C#, который будет слушать сеть, и при появлении нужного сообщения выдавать оповещение. Нагрузка на сеть будет минимальная, а о появлении в файле нужной ячейки сразу станет известно всем.
В простейшем случае можно отправлять сообщения с помощью "Net Send".
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:12, 26-02-2008 | #9


Старожил


Сообщения: 369
Благодарности: 49

Профиль | Отправить PM | Цитировать


Цитата:
здесь основная проблема, как получить фоновый цвет ячейки
Можно двумя путями.
1 - через объектную переменную "цвет фона ячейки" и оператор сравнения "тот цвет или не тот"
2 - в VBA есть цифровые константы отвечающие за несколько основных цветов:
красный vbRed 0xFF
зелёный vbGreen 0xFF00
синий vbBlue 0xFF0000
жёлтый vbYellow 0xFFFF
а задаются эти константы - в "операторах" BackColor, ForeColor, BorderColor - описывающих свойства ячейки.

Отправлено: 00:57, 27-02-2008 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - сканирование xls

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - Не открываются xls файлы senseye Microsoft Windows 2000/XP 3 24-04-2013 00:45
Офис и Текст - Общие вопросы по XLS-файлам 1Space Программное обеспечение Windows 46 09-07-2008 13:06
Теория - Конвертирование xls в jpg Surround Программирование и базы данных 13 27-01-2008 17:50
[решено] Не открываются *.xls NordWest Microsoft Windows 2000/XP 4 02-11-2006 18:08




 
Переход