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

Звонок с мобильного телефона или SIP софтфона EyeBeam из Excel

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

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

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

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

Sub ПримерКодаДляЗвонкаИзExcel()
    ' макрос запустит программу EyeBeam, и наберёт указанный номер
    CallWithEyeBeam "8-912-3456789"
End Sub

Чуть позже я также опубликую макрос для экспорта списка номеров из таблицы Excel в контакт-лист программы eyeBeam
(формируется CSV файл, который можно импортировать в eyeBeam)

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

Телефон подойдет любой, лишь бы в нём был модем (если функция подключения к интернету есть - значит и модем есть).
Программка называется "Телефум", скачать её можно с сайта разработчика: http://telefum.com/download/

Никакой макрос в этом случае писать не придется - программа сама установит надстройку,
так что звонить Вы сможете кликнув правой кнопкой мыши по выделенной ячейке и выбрав в контекстном меню "Позвонить", только эту функцию после установки необходимо активировать, как описано вот здесь: http://telefum.com/dokument/integration/office/excel/

Форматировать номер не нужно, программа сама очистит номер от ненужных символов.

Кроме того программа умеет подключаться одновременно к нескольким телефонам, так что Вы сможете настроить звонки разным операторам с разных телефонов.
Вот небольшая видеопрезентация того, как это работает: http://telefum.com/excel_call/

Для работы этого макроса, скопируйте в стандартный модуль следующие функции:

Function eyeBeamPath() As String    ' возвращает путь к файлу eyeBeam.exe
    ' проверяем наличие файла в папке «по-умолчанию»
    eyeBeamPath = Environ("ProgramFiles") & "\CounterPath\eyeBeam 1.5\eyeBeam.exe"
    If Dir(eyeBeamPath, vbNormal) = "" Then eyeBeamPath = "" Else Exit Function
    On Error Resume Next    ' читаем путь к папке в реестре, и ищем файл eyeBeam.exe
    key$ = "HKEY_CURRENT_USER\Software\CounterPath\RegNow Enhanced\WorkingFolder"
    eyeBeamFolder$ = CreateObject("WScript.Shell").RegRead(key$)
    eyeBeamFile$ = Dir(eyeBeamFolder$ & "\*eyeBeam*.exe", vbNormal)
    If eyeBeamFile$ <> "" Then eyeBeamPath = eyeBeamFolder$ & "\" & eyeBeamFile$
End Function
 
Sub CallWithEyeBeam(ByVal phoneNumber$)
    ' макрос проиводит вызов номера phoneNumber$ в программе eyeBeam (SIP телефония)
    On Error Resume Next: filePath$ = eyeBeamPath
    If filePath$ = "" Then
        msg = "Не найден файл программы eyeBeam.exe"
        MsgBox msg, vbCritical, "Невозможно выполнить звонок": Exit Sub
    End If
    cmd$ = """" & filePath$ & """ -dial=""" & phoneNumber$ & """"
    res = Shell(cmd$)
End Sub

Для набора номера из выделенной ячейки, макрос будет аналогичным:

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

 

Реконмендуется предварительно проверить номер телефона на корректность, и удалить из него лишние символы.

Это можно сделать при помощи дополнительной функции SIPnumber:
(протестировано на софтфоне eyeBeam версии 1.5)

Sub ПозвонитьНаНомерИзВыделеннойЯчейкиExcel()
    ' макрос запустит программу EyeBeam, и наберёт номер из ячейки
    CallWithEyeBeam SIPnumber(ActiveCell)
End Sub
 
Function SIPnumber(ByVal txt$) As String
    ' функция берет из текста txt$ первый попавшийся номер телефона,
    ' и возвращает его, удаляя лишние символы
    ' Например, из текста «c/o +371-7-500431, 500432» получаем номер «8-10-371-7-500431»
    Application.Volatile True
    txt = Split(txt, ",")(0): txt = Split(txt, ";")(0)
    txt = Replace(txt, "c/o", ""): txt = Replace(txt, " ", "")
    txt = Replace(txt, "+7", "8-"): txt = Replace(txt, "+", "8-10-")
    txt = Replace(txt, "--", "-"): If Len(txt) < 3 Then txt = ""
    SIPnumber = txt
End Function

Комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Здравствуйте. Попробовали, действительно при использовании ГИПЕРССЫЛКА можно вызвать Скайп, но появляется только окно Скайп с номеронабирателем и все.
Способ с гиперссылкой работает, только если есть Ник, причем только если Ник на английском языке.
Пробовали несколько раз и утром, и вечером, на разных машинах, разные люди.

А какая разница, в ячейке ник из скайпа, или номер телефона?
Проверьте, — всё работает и с номерами телефонов.

Спасибо. Но в нашем случае в ячейках EXCEL содержится не Ник пользователя, а номер телефона вида 8 или (+7) 86550ХХХХХХХ.
Т.Е. нужно инициировать перенос номера в скайп, с последующим вызовом.
К вопросу о том почему не используем Телефум, нет потребности во всех дополнительных "плюшках" этой программы.

Чтобы из Excel звонить через скайп,
в первый столбец поместите ник того, кому хотите звонить,
а во второй столбец - формулу типа этой:

=ГИПЕРССЫЛКА("skype:"&$A1&"?call";"позвонить")

Вот что получится:

звонок из Excel через Скайп

 

И никаких макросов не надо...

Через Excel звонить невозможно.
Вам надо просто инициировать звонок в скайпе, нажатием на ячейку с ником?
Так это вроде можно сделать, щелкнув по гиперссылке...

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

Спасибо за ссылку на программу "Телефум".
давно искал что-то подобное.

Да, можно, если программа Sippoint поддерживает параметра командной строки.
Даже если не поддерживает - есть возможность набрать нужный номер (сложнее, конечно, но реально)

Добрый день. А можно этот код переделать под другую программу? Необходимо набирать номер записанный в Excel через программу Sippoint.

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

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

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

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