Всем доброго времени суток. Недавно я задался таким вопросом: пользуясь IP телефонией, через программу Sippoint, как звонить не набирая номер в ручную, а щелкая по ячейке с номером.
В инете нашел такой макрос:
Но что-то он не хочет работать. Выделяет FindWindow и пишет: Compile error: Sub or Function not defined Разобраться почему, у меня не получается.
Может кто подскажет как тут быть?
В инете нашел такой макрос:
Код |
---|
Sub ПозвонитьНаНомерИзВыделеннойЯчейкиExcel() 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, "Набор номера невозможен": ExitSub 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 |
Может кто подскажет как тут быть?