Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
54 / 39 / 3
Регистрация: 25.01.2013
Сообщений: 368
1

Мониторинг договоров по срокам окончания

20.03.2014, 06:28. Показов 3892. Ответов 38
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе время суток!!
Как организовать в VBA мониторинг договоров по окончания срока, т.е. заведомо получить оповещение за 30 дней до окончания срока, не открывая файл Excel с реестром договоров?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2014, 06:28
Ответы с готовыми решениями:

В зависимости от количества договоров запросить названия этих договоров
Добрый день! Нужно написать следующую программу: Запросить количество Договоров. Потом в...

Заменить в предложении окончания слов «ing» на окончания «ed»
Напишите программу, которая осуществляет обработку информации условию, заданных ниже. Разделителем...

лаба по срокам
Помогите решить задачку на делфях: Если длина введенной строки равна 10, удалить все буквы - A,...

Расчет пени по срокам
Доброго времени всем ребят, помогите решить проблему с расчетом пени. Есть определенная сумма,...

38
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
20.03.2014, 11:04 21
Author24 — интернет-сервис помощи студентам
Ну да, настроить кодом планировщик - это ещё одна задача... Не подумал...
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
20.03.2014, 11:42 22
В приложении скрипт для AutoIt. Закоментировал вроде подробно. Где путь к файлу, ячейкам которые нужны писать понятно будет. Только если у вас формат ячеек с датами не текстовый, а дата, надо будет немного код поменять. Ну, и соответственно скачать AutoIt для редактирования, да и скомпилировать в экзешник можно, его же и в автозагрузку не беда приткнуть
Вложения
Тип файла: rar test.rar (858 байт, 4 просмотров)
0
54 / 39 / 3
Регистрация: 25.01.2013
Сообщений: 368
20.03.2014, 12:26  [ТС] 23
сейчас посмотрю

Добавлено через 1 минуту
korvindeson, что то с расширением этого файла не то
0
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
20.03.2014, 12:26 24
Excel.au3 у меня например нет, и в пакете AutoIt думаю его тоже нет...
0
54 / 39 / 3
Регистрация: 25.01.2013
Сообщений: 368
20.03.2014, 12:29  [ТС] 25
Цитата Сообщение от Rube Посмотреть сообщение
Дык Султанов хочет вообще чтоб пользователь не учавствовал, кроме как один раз запустить файл.
пользователю не надо знать подробности, ему нужно знать о том что за 30 дней срок истекает по такому-то договору
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
20.03.2014, 12:50 26
Цитата Сообщение от Султанов Посмотреть сообщение
пользователю не надо знать подробности, ему нужно знать о том что за 30 дней срок истекает по такому-то договору
А я не об этом ли сказал?

Добавлено через 58 секунд
Цитата Сообщение от Rube Посмотреть сообщение
Замените красное на путь к файлу.
.TargetPath = Application.Path & "\EXCEL.EXE"
Это сделали?
0
54 / 39 / 3
Регистрация: 25.01.2013
Сообщений: 368
20.03.2014, 13:06  [ТС] 27
Rube, ну думал конец, после переустановки офиса заработало)))
0
912 / 560 / 88
Регистрация: 13.02.2014
Сообщений: 2,081
20.03.2014, 13:11 28
Цитата Сообщение от Султанов Посмотреть сообщение
ну думал конец,
Вдвоем всегда быстрее думать!)
1
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
20.03.2014, 13:54 29
Цитата Сообщение от Султанов Посмотреть сообщение
korvindeson, что то с расширением этого файла не то
Я так понимаю оно уже не надо. Если хотите добить этот вариант, напишите что именно за ошибка у меня всё прекрасно работает на стандартном autoit

В приложении Excel.au3
Живёт в програм файлз \AutoIt3\Include
Вложения
Тип файла: rar Excel.rar (4.8 Кб, 7 просмотров)
0
54 / 39 / 3
Регистрация: 25.01.2013
Сообщений: 368
20.03.2014, 14:34  [ТС] 30
korvindeson, поставил autoit, запустил - тишина
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
20.03.2014, 15:04 31
Султанов, вам нужно во первых проверить живёт ли в програм файлз \AutoIt3\Include файл под именем Excel.au3, если нет, скинуть его туда из поста выше.
Во вторых открыть макрос для редактирования (правая кнопка по test.au3 -> Edit script)
Далее изменить
$sFile = "путь к вашему файлу"
;столбец с датами
$column = 1
;столбец именами организаций, названием договоров или что там надо на печать вывести
$column2 = 2
;строка с которой начинаем
$row = 1

Как всё сделаете нажмите F5 находясь в редакторе. Если выкинет ошибку скиньте. Я сделал обработку в расчёте на то, что в ячейках с датами формат типа текст. Если формат дата, надо будет ещё строчку поменять.

Программа будет молча отрабатывать и закрываться если не найдено документов, требующих уведомления. Или же будет вывобить сообщение типа дата окончания имя документа

Добавлено через 13 минут
О, тупанул
Если поменять в двух местах
$search_cell = $oExcel.Activesheet.Cells($row, $column).Value
на
$search_cell = $oExcel.Activesheet.Cells($row, $column).Text

То без разницы какой там формат
0
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
20.03.2014, 15:11 32
Кстати, есть там одно тонкое место (ну может ещё что, не изучал )):
Visual Basic
1
ActiveSheet.UsedRange.Rows.Count
Бывает, что эта UsedRange начинается не с первой строки!
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
20.03.2014, 15:14 33
Цитата Сообщение от Hugo121 Посмотреть сообщение
Бывает, что эта UsedRange начинается не с первой строки!
Так в этом моменте интересует последняя, первую ручками ставим. А момент тонкий только потому что файл не показывают. Гаданием пробую
0
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
20.03.2014, 15:17 34
Ну и не будет эта последняя просмотрена!
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
20.03.2014, 15:24 35
Цитата Сообщение от Hugo121 Посмотреть сообщение
Ну и не будет эта последняя просмотрена!
Почему не будет?
Do
...
until $row = $max_row +1

Добавлено через 5 минут
А тонких моментов много на самом деле. Если начать предсавлять, что может побежать не так. Если в столбце с датами будет какой мусор вместо дат, или формат к примеру не тот, программа споткнётся. Универсальное решение на все случаи жизни пилить? Так не настолько распространённая проблема.
0
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
20.03.2014, 15:32 36
Ну вот потому и не будет... Хотя что я тут хакера учу...
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
20.03.2014, 15:46 37
Так объясните толком, а не обзывайтесь. Самому-то интересно не разу не спотыкался на такой проблеме, как воспроизвести не понимаю
0
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
20.03.2014, 16:00 38
Ладно, смотрите - Вы получили количество в usedrange строк 10 (не обязательно заполненных, кстати, что делает ошибку неуловимой...), значит будете просматривать с 1 до 10. Всё верно?
А usedrange допустим начинается с строки 5...
Как решать - вариантов несколько, поэтому советовать не буду.

P.S. А своим хакерством Вы возможно нанесли мне конкретный урон кстати...

Добавлено через 4 минуты
А воспроизвести элементарно - в новом листе заполнить пяток ячеек с пятой строки, и выполнить пошагово
Visual Basic
1
2
3
4
5
Sub tt()
    For i = 1 To ActiveSheet.UsedRange.Rows.Count
        Cells(i, 1).Select
    Next
End Sub
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
21.03.2014, 12:03 39
Благодарю, не сообразил. Допилил, поправил (надо же закончить). За тот момент прошу прощенья, не подумавши сделал, просто интересно стало, молодой, дурной, что взять? Сейчас напишу, чтоб убили тот файл.


А по теме. Править то же самое что и раньше (где файл, в каком ряду). Разделитель теперь можно использовать любой при условии, что формат дд'разд'мм'разд'гггг. Если программа натыкается на строчки с неправильным форматом дат, потом уведомляет. На мусоре больше ошибку выкидывать не будет.
Вложения
Тип файла: rar test.rar (1.0 Кб, 7 просмотров)
0
21.03.2014, 12:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2014, 12:03
Помогаю со студенческими работами здесь

БД автомастерская(автосервис), не успеваю по срокам
Здравствуйте. Помогите с БД пожалуйста. БД прикреплю. Её нужно подправить, ото косячков...

Кредиторская задолженность по срокам долга
Здравствуйте уважаемые такой вопрос есть отсчёт по кредиторке необходимо чтобы он работал с даты...

срочно нужна консультация по бюджетам и срокам
Мне собираются дать продвигать кое-какие проекты, и в связи с этим срочно нужна консультация по...

АРМ библиотека: как организовать выдачу книг по срокам
Салам. Вот я делаю программу АРМ Библиотека, все база раб программа сделанна. У меня такой вопрос...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru