mail mail
Нужен макрос для Excel?
Сделайте заказ прямо сейчас!
Ищете готовое решение?
Выбирайте и покупайте!
У вас есть интернет-магазин?
Настроим парсер под любой сайт!

ВНИМАНИЕ: Данная программа использует вызов системных функций - WinAPI
Поскольку синтаксис вызова этих функций в различных версиях Windows и Office может отличаться, работа программы на всех компьютерах не гарантируется!
Все размещённые на сайте макросы тестировались в Excel 2003 - 2010 под управлением 32-битной версии Windows XP

Если вы работаете в 64-битной версии Windows, или используете Office 2010 или 2013 (в котором встроена 7-я версия VBA),
то есть вероятность, что макрос работать не будет (потребуется доработка вызова функций WinAPI)
По указанным причинам, макрос не будет работать под управлением MacOS Excel 2004, 2008, 2011 и т.п.)

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

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

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

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

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

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

Sub CallWithSIPPOINT(ByVal number$)
    ' пытается набрать номер number$ в программе SIPPOINT
    On Error Resume Next: Err.Clear: res = 0
 
    Hwnd& = FindWindow("TForm1", "Sippoint ")    ' получаем Hwnd& окна запущенного приложения
    If Hwnd& = 0 Then    ' программа не найдена среди запущенных приложений
        SIPPOINTpath$ = Environ("ProgramFiles") & "\Sippoint\Sippoint.exe"
        If Dir(SIPPOINTpath$, vbNormal) = "" Then Exit Sub    ' выход (программа не найдена)
        ' pid& = Shell(SIPPOINTpath$): DoEvents    ' запускаем программу
        MsgBox "Программа «Sippoint» не запущена!", vbExclamation, "Набор номера невозможен": Exit Sub
    End If
    If Hwnd& = 0 Or Err > 0 Then Exit Sub    ' так и не удалось запустить программу - выходим из макроса

    TsPanel1& = FindWindowEx(Hwnd&, 0, "TsPanel", vbNullString)
    TsPanel2& = FindWindowEx(Hwnd&, TsPanel1&, "TsPanel", vbNullString)
    TsPageControl& = FindWindowEx(TsPanel2&, 0, "TsPageControl", vbNullString)
    TsTabSheet& = FindWindowEx(TsPageControl&, 0, "TsTabSheet", vbNullString)
    While FindWindowEx(TsTabSheet&, 0, "TVirtualStringTree", vbNullString) <> 0
        TsTabSheet& = FindWindowEx(TsPageControl&, TsTabSheet&, "TsTabSheet", vbNullString)
    Wend
    TsEdit& = FindWindowEx(TsTabSheet&, 0, "TsEdit", vbNullString)
    SendButton& = FindWindowEx(TsTabSheet&, 0, "TsBitBtn", vbNullString)
 
    ' вводим заданный текст в поле для номера в программе sippoint
    res = res - SendMessage(TsEdit&, WM_SETTEXT, 3, number$)
 
    ' нажимаем кнопку ВЫЗОВ
    res = res - SendMessage(SendButton&, WM_LBUTTONDOWN, 0, vbNullString)
    res = res - SendMessage(SendButton&, WM_LBUTTONUP, 0, vbNullString)
 
    If TsEdit& * SendButton& Then Debug.Print "Набран номер " & number$
End Sub

ВложениеРазмерЗагрузкиПоследняя загрузка
SippointCall.xls - файл с макросом набора номера (для тестирования)77.5 КБ863 дня 5 часов назад

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
     _     __   __          _____   _   _  _   
/ \ \ \ / / _ _ |___ / | | | || |
/ _ \ \ V / | | | | |_ \ | | | || |_
/ ___ \ | | | |_| | ___) | | | |__ _|
/_/ \_\ |_| \__, | |____/ |_| |_|
|___/
Введите код, изображенный в стиле ASCII-арт.

Не получается применить макрос? Не удаётся изменить код под свои нужды?

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