Календарь (дата, время)

Запуск макроса VBA по таймеру

В Excel есть инструментарий для запуска макроса по расписанию, - Application.Ontime
При помощи этого метода можно запускать макрос с заданным интервалом (например, раз в секунду)

Но есть и другой вариант, - использование объекта htmlfile:
(код надо поместить в модуль ЭтаКнига - ThisWorkbook)

Private m_TimerId As Variant
Private m_doc As Object
Const ATTRNAME = "VBATimerHandler"
 
Private Sub StartTimer()
    Const Script = "document.documentElement.getAttribute('" & ATTRNAME & "').TimerProc()"
    EndTimer
    Set m_doc = CreateObject("htmlfile")

Получение текущей даты и времени с сервера в интернете

Функция GetRealTime выполняет HTTP-запрос к заданному серверу,
и из заголовка Date ответа сервера берёт текущее время и дату.

Сделано на примере сервера Яндекса (их сайт почти всегда доступен, и работает очень быстро)

Функция полезна, когда надо получить реальную дату (а не ту, которая выставлена на компе), - например, для вычисления оставшегося времени использования trial-версии программы.

Пример использования:

Sub ВывестиТекущуюДатуИВремя()
    t = GetRealTime
    MsgBox t, vbInformation, "Текущее время (в Москве)"
 
    t = GetRealTime(6)        ' GMT + 6

Отображение этапов работ на шкале времени

Отображение этапов работ на шкале времени

Программа предназначена для отображения этапов выполнения работ на шкале времени в Excel.

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

Шкала времени состоит из двух строк, заполненных датами при помощи формул.
В первой строке - дата начала временного интервала, во второй строке - дата его окончания.

Для каждой даты, макрос ищет её место на шкале времени (подходящий временной интервал),
и располагает значок, соответствующий текущему этапу, в соответствующей ячейке.

Значок этапа ставится в соответствии с положением даты во временном интервале.
Например, если интервал временной шкалы - 1 месяц, а дата - 22-е число, - то значок будет расположен в правой части ячейки.
Если же дата - это первое число месяца, - то значок будет размещен вплотную к левому краю ячейки

Запуск макроса осуществляется нажатием клавиши F5 (как в большинстве других программ, эта клавиша используется для обновления страницы)

При запуске макроса, все существующие на листе фигуры (значки) удаляются, и расставляются заново.

Макрос, отслеживающий интервал дат до события

Таблица с заполненными данными по клиентам

Программа предназначена для вывода информации о скором наступлении события

Каждый раз при открытии файла (и автоматической активации макроса), происходит проверка разницы между текущей датой, и датой окончания действия полиса
(столбец номер 7 на скриншоте).

Если эта разница находится в пределах 10 дней (параметр можно менять по своему усмотрению), то на отдельный лист выводится ссылка на строку, вызвавшую это событие.

Добавление изображения в примечание

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

При выделении данной ячейки - изображение будет отображаться в комментарии.

Данный код добавляет в контекстное меню ячейки новое действие "Вставить изображение"

Нижеуказанный макрос лучше всего поместить в "личную книгу макросов" (PERSONAL)

В модуль "ЭтаКнига" файла PERSONAL.xls вставляем:

Надстройка для загрузки списка файлов на лист Excel

Скриншот формы поиска файлов в заданной папке

Надстройка, позволяющая загрузить из выбранной папки список файлов на лист Excel.

Автор: VictorM

Особенности надстройки:

  • задаваемая пользователем глубина поиска в подпапках
  • простановка гиперссылок на листе Excel на найденные файлы
  • вывод дополнительных характеристик файла
  • (размер файла, дата создания файла, полный путь)
  • изменяемая маска поиска (поиск по части имени файла, по расширению, и т.д.)
  • вывод результатов поиска на отдельный лист

 

Таймер (секундомер) в Excel - система электронного хронометража

Скриншот листа с секундомерами

Программа предназначена для фиксации времени событий (хронометража) в таблице Excel в режиме онлайн.

Типичное применение такой программы - фиксации времени прохождения кругов автогонщиками, но подойдёт данный секундомер и для учёта времени на любых других спортивных состязаниях.

 

Особенности программы:

  • изменяемое количество участников - от 1 до 20
  • изменяемое количество кругов (заездов, состязаний) - от 1 до 6
  • возможность начислять отдельным участникам штрафные баллы (секунды)
  • автоматический подсчёт суммарного времени
  • распределение мест среди участников
  • возможность сортировки таблицы результатов состязания по любому параметру
  • фиксация времени с точностью до сотых долей секунды

 

Программа формирования договоров по шаблону

Скриншот программы формирования договоров купли-продажи

Программа предназначена для формирования (заполнения) договоров купли-продажи.

 

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

Для запуска программы достаточно нажать зеленую кнопку - и сразу же начнётся формирование договоров (файлов Excel из одного листа) в автоматически созданной папке «Договоры купли-продажи»

 

Программа оформления заявлений на пополнение счёта

Форма ввода данных

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

 

Реализована проверка корректности ввода некоторых полей.

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

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

 

Секундомер в Excel - для фиксации времени автогонки

Скриншот секундомера автогонки - 4 независимых таймера на 4 круга

Данный секундомер предназначен для фиксации времени прохождения кругов автогонщиками.

 

Возможен одновременный, а также выборочный, старт всех секундомеров (в примере их 4 - по одному на каждого гонщика)

По прохождении гонщиком очередного круга достаточно нажать кнопку СТОП - и секундомер начнёт фиксировать время следующего круга.

В последнем столбце формулой подсчитывается суммарное время прохождения всех 4 кругов.