Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2011, 18:11   #21
ts3
Пользователь
 
Регистрация: 13.09.2011
Сообщений: 18
По умолчанию

сделал в прикрепленном файле кроме этого там же папка OCX

запускаю макрос в комбобоксе рисует ряд цифр от 1 до 15 что дальше делать ?

MSCommLib.dll - весь диск С проверил по поиску файла - ее нет - если нужна то где взять ?
Вложения
Тип файла: rar проба макроса.rar (54.6 Кб, 25 просмотров)

Последний раз редактировалось ts3; 06.10.2011 в 18:59.
ts3 вне форума Ответить с цитированием
Старый 06.10.2011, 18:59   #22
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

через 3 часа буду на месте .помогу
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 06.10.2011, 23:58   #23
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

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


Вложения
Тип файла: rar Книга1.rar (21.2 Кб, 45 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 18.10.2011, 00:40   #24
ts3
Пользователь
 
Регистрация: 13.09.2011
Сообщений: 18
По умолчанию

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

Макрос использует в качестве «звонилки» программу Callem (http://rghost.ru/26018581 - наиболее удобный вариант «звонилки» с настройками-прописывается по пути "C:\Program Files\Callem\callem.exe"). Callem забирает номер из буфера обмена.( в настройках указать),прописывает строку инициализации модема, делает автодозвон и пр.
Чтоб работало надо подключить Microsoft Forms 2.0 Object Library
окно редактора VBA ( Alt + F11)-Tools – References-галка Microsoft Forms 2.0 Object Library (если вдруг ее нет – было у меня такое в References нажать Browse – найти по пути
C:Windows\system32\fm20.dll – OK -библиотека подключится)

Макрос работает но ряд эл.доработок нужен не знаю как сделать

-при вызове
1. Если двойной клик на пустой ячейке - MsgBox "Некорректно введен № телефона либо нет телефона клиента» - это сделано
2. Если количество введенных цифр в ячейку менее 7 и более 11; либо введен текст – тот же MsgBox "Некорректно введен № телефона либо нет телефона клиента» вылазит – как сделать ?
3.После набора и поднятия трубки через 30 сек принудително закрыть Callem (в трее остается висеть) - иначе повторный звонок иногда может сглючить - тоже неясно как сделать .
Вложения
Тип файла: rar макрос звонпотел.rar (10.9 Кб, 23 просмотров)

Последний раз редактировалось ts3; 18.10.2011 в 15:49.
ts3 вне форума Ответить с цитированием
Старый 18.10.2011, 20:52   #25
ts3
Пользователь
 
Регистрация: 13.09.2011
Сообщений: 18
По умолчанию

мда чем дальше в лес тем больше дров
проблема ошибочного введения телефона еще больше
1.например телефон Нижнего Тагила имеет формат 8(3435)243829
телефон Екатеринбурга 8(343)3706688
Если применить обычный телефонный формат excel (формат-дополнительный-номер телефона) то оба телефона превратятся в вид (8343)524-3829 и (8343)370-6688
те оба телефона видятся как тел Екатеринбурга (ТЕ тел форматирование не подходит)
2. чтоб исключить ошибки при набитии номера в ячейку надо считать именно кол-во цифр а не символов (пробовал ввести условия <= 999999 и > 99999999999# но они считают количество символов в том числе например 8(3435)24-38-39 посчитает и () и - ТЕ СЧИТАТЬ НАДО КОЛ_ВО ЦИФР и в том числе исключить текстовые значения в телефонном номере

Получается что надо делать ввод телефона через форму с условиями чтоб исключить ошибки и вид телефона был комфортный с () и - ...
ts3 вне форума Ответить с цитированием
Старый 18.10.2011, 21:07   #26
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Если применить обычный телефонный формат excel (формат-дополнительный-номер телефона) то оба телефона превратятся в вид
Проблема решается просто:
в ячейку вводятся только цифры,
а макрос перехватывает событие изменения ячейки, после чего по коду города определяет формат ячейки, и назначает его (или меняет текст ячейки с номером)

PS: И вообще, почему бы ВСЕ телефонные номера не вводить в формате (###) ######## ?
Зачем усложнять задачу?
EducatedFool вне форума Ответить с цитированием
Старый 18.10.2011, 23:38   #27
ts3
Пользователь
 
Регистрация: 13.09.2011
Сообщений: 18
По умолчанию

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

остался один вопрос - можно ли макросом закрыть принудительно программу Сallem по событию: программа легла в трей и ждет следующего вызова. Такое возможно сделать макросом или програму стороннюю искать ?

Последний раз редактировалось ts3; 19.10.2011 в 15:31.
ts3 вне форума Ответить с цитированием
Старый 27.12.2013, 10:09   #28
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Здравствуйте, Уважаемые.
Получается у меня позвонить и с помощью кода из сообщения №3 от SAS888 и с помощью кода из сообщения №5 от EducatedFool.
Но возникли 2 вопроса, с которыми не получается справиться, как ни пытаюсь.
Кнопка "Позвонить" у меня находиться на форме и теперь вопросы:
1. Как (можно-ли) скрыть все окна программы-звонилки?
2. Для запуска программ из Excel существует команда Shell. А можно-ли точно так же закрыть внешнее приложение, например, кнопкой "Выход" на форме?
Спасибо.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 27.12.2013, 11:22   #29
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

1. У функции Shell есть опциональный атрибут, отвечающий за стиль открываемого окна.

2. Можно воспользоваться API функциями. Например, закрыть калькулятор можно так:
Код:
Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Sub Close_Calc()
    PostMessage FindWindow(vbNullString, "Калькулятор"), &H10, 0&, 0&
End Sub
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 27.12.2013 в 11:29.
SAS888 вне форума Ответить с цитированием
Старый 27.12.2013, 11:31   #30
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Можно воспользоваться API функциями
Спасибо.
Буду пробовать.
Что получится - отпишусь.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Надо макрос для Excel для перестановки букв dionisprf Microsoft Office Excel 2 10.06.2009 06:04
Интересный макрос для создания писем в Outlook через Excel Neo007 Microsoft Office Excel 17 19.04.2009 20:44
помогите, пожалуйсто, написать макрос для excel bacalavr Microsoft Office Excel 2 04.04.2008 11:39
Макрос VBA EXCEl - простановка в ячейку номера страницы Обыватель Microsoft Office Excel 1 14.02.2008 12:49
Макрос в Excel для обработки группы файлов ad_sum Microsoft Office Excel 1 29.12.2007 16:56