Функции WinAPI

Макросы для получения размера изображения, и создания уменьшенной копии картинки

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

 

Эти макросы нашли применение в универсальной надстройке для вставки картинок в Excel

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

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

Воспроизведение звуков (проигрывание мелодий) макросом VBA

Соответствие клавиш клавиатуры компьютера нотам (как на клавиатуре баяна)

Самый простой вариант извлечь звук при помощи макроса VBA:

Shell "Cmd.exe /c echo " & Chr(7), vbHide

Эта команда вводит в консоль символ с кодом 7 (ввод этого символа вызывает звуковой сигнал)
Из спикера компьютера (не из динамиков!) прозвучит короткий однотональный звуковой сигнал.

Если же нужен звук подлиннее - то можно «ввести» в консоль несколько символов Chr(7).
Например, эта строка кода выдаст тройной звуковой сигнал:

Shell "Cmd.exe /c echo " & Chr(7) & Chr(7) & Chr(7), vbHide

Ниже приведён более сложный вариант - с использованием WinAPI (функции Beep).

Прозрачная форма в VBA (регулировка прозрачности формы)

В данной статье собрано несколько примеров установки прозрачности форм (UserForm)

Во всех файлах для установки прозрачности используется WinAPI функция SetLayeredWindowAttributes

Примеры взять с форума ПланетаExcel, и немного переработаны.

Функция VB (VBA) для определения продолжительности медиафайла

Получение длительности медиафайла формулой Excel

Узнать продолжительность (время) звучания аудиофайла (MP3, WAV и т.д.), или длительность видеофайла (видеоролика) из Excel совсем несложно.

Используйте функцию ПродолжительностьМедиафайла:
(функцию можно использовать как в макросах, так и на листе Excel)

Sub Пример_Использования_Функции_ПродолжительностьМедиафайла()
    Путь = "E:\Music\MODERN_TALKING With_a_little_love.mp3"
    MsgBox "Продолжительность в секундах: " & ПродолжительностьМедиафайла(Путь), vbInformation, Путь
End Sub

 

А вот и код самой функции:

Звонок из Excel через SIP софтфон Sippoint

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

Обычно этот процесс не автоматизирован - пользователь, глядя в таблицу Excel, набирает на своём мобильном телефоне номер из очередной ячейки.

Чем это чревато - вы и сами понимаете: мало того, что пользователь теряет время, набирая номер на телефоне, так и при наборе номера возможно ошибиться, в результате чего вы потратите лишнее время и деньги.

Предлагаю вашему вниманию макрос, который позволит нажатием одной кнопки набрать номер телефона из ячейки в популярном софтфоне Sippoint (от компании SIPNET)

Sub ПозвонитьНаНомерИзВыделеннойЯчейкиExcel()
    ' макрос наберёт номер из активной ячейки в программе Sippoint
    CallWithSIPPOINT Trim(ActiveCell)
End Sub

Надстройка для администрирования локальной сети

Надстройка предназначена для облегчения управления сетевым оборудованием и диагностики локальной сети из Excel.

 

Надстройка будет полезна, если информация об оборудовании (IP-адреса, логины и пароли) хранится в книгах Excel.

Вы сможете получить доступ к часто используемым действиям из контекстного меню Excel.

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

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

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

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

 

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

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

 

Фортепиано в Excel

Скриншот программы «Фортепиано в Excel»

Данная программа позволяет воспроизводить звуки нажатием на кнопки, расположенные на листе Excel

При нажатии кнопки ЗАПУСК на листе рисуется клавиатура.
Ширина черных и белых клавиш зависит от ширины столбцов А и В соответственно.

 

(добавлено в новой версии)

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

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

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

 

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

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

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

 

Выпадающий календарь в ячейке (выбор даты на листе Excel)

Выпадающий календарь в ячейке листа Excel

Надстройка samradDatePicker (русифицированная) для облегчения ввода даты в ячейки листа Excel.

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

Поместите файл надстройки из вложения в папку автозагрузки Excel (C:\Program Files\Microsoft Office\OFFICExx\XLSTART).

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