С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
sss1973
0 / 0 / 0
Регистрация: 21.11.2009
Сообщений: 8
1

Как обратиться к API функциям?

21.11.2009, 15:35. Просмотров 1516. Ответов 8
Метки нет (Все метки)

Привет всем!!!
Недавно начал программировать на VBA. Хотелось бы узнать есть ли в этом языке возможности для обращения к COM порту?
Похоже это можно делать с помощью API. Но как обращаться к функциям API из VBA???

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2009, 15:35
Ответы с готовыми решениями:

Как обратиться к данным .xls файла, имя которого задано в ячейке как текст
есть два файла: a.xls и b.xls Имя файла "a.xls" присутствует в определенной...

Как обратиться к конкретной ячейке
Продолжаю задавать глупые вопросы. Уважаемые, используя метод Range обращался к...

Как обратиться к переменной по ее имени?
В runtime необходимо обратиться к переменной, хранящей объект. Имя этой...

Как обратиться к метке(надпись - Label)
ставлю на лист элемент управления метку. Называется в "подпись". В не й...

Как обратиться к нескольким TextBox-ам в цикле?
Подскажите, как можно обратиться по именам к нескольким текстбоксам в цикле,...

8
Evgeniy_175469954
0 / 0 / 0
Регистрация: 19.01.2010
Сообщений: 7
19.01.2010, 09:19 2
создаешь модуль в ней декларируешь API функцию типа:
Visual Basic
1
Public Declare Function ShowCursor Lib 'user32' Alias 'ShowCursor' (ByVal bShow As Long) As Long
И все! (эта функция для работы с курсором мыши)

А с COM портом можно работать и через ActivX элемент MScomm. Его бросаешь на лист и работаешь с его свойствами.
Пример
Visual Basic
1
2
3
4
5
6
7
8
9
MSComm1.CommPort = 1 ' номер порта
MSComm1.Settings = "19200,n,8,1" ' скорость и другие параметры
MSComm1.PortOpen = True 
MSComm1.Output = "#23" + Chr$(13) + Chr$(10) ' посылаем в порт команду (текст)
tim = Timer 
1 DoEvents 
If tim + 0.03 > Timer Then GoTo 1 'устанавливаем время ожидания ответа
receive = MSComm1.Input 'считываем данные с порта
MSComm1.PortOpen = False
0
sss1973
0 / 0 / 0
Регистрация: 21.11.2009
Сообщений: 8
20.01.2010, 16:08  [ТС] 3
А что значит 'MScomm бросаешь на лист и работаешь с его свойствами.'
Где его искать и как бросать ?
Как я понял на бросать его надо на лист какого либо
докумета MS Office ???
0
Evgeniy_175469954
0 / 0 / 0
Регистрация: 19.01.2010
Сообщений: 7
21.01.2010, 06:55 4
Да, элемент надо помещать на лист или на форму. В Excel его можно найти по пути Вид-Панели инструментов-элементы управления -другие элементы. Так вот когда щелкаешь на кнопке 'Другие элементы', то появляется выпадающий список, в котором выбираешь Microsoft Communication Control и помещаешь на лист.
0
sss1973
0 / 0 / 0
Регистрация: 21.11.2009
Сообщений: 8
21.01.2010, 08:01  [ТС] 5
Да , Я примерно так и понял. Но ни в EXEL ни в World на своем ПК в
панели управления - другие элементы я не нашёл Microsoft Communication Control . Может его туда нужно как то добавить ??

PS. Большое спасибо за ответы!!
0
Evgeniy_175469954
0 / 0 / 0
Регистрация: 19.01.2010
Сообщений: 7
21.01.2010, 08:28 6
Да нужно добавить. По мылу могу тебе выслать этот контрол. Его потом помещаешь в папку System, если Винды98, или в папку System32 в линейке NT/2000/XP. И делаешь 'зарегистривовать новый элемент'
Если будет вопросы, то можно связаться со мной по Асе - ее номер у меня в логине есть.
0
sss1973
0 / 0 / 0
Регистрация: 21.11.2009
Сообщений: 8
21.01.2010, 08:39  [ТС] 7
Если это не сложно то пожалуйста отправте этот контрол на sss1973@inbox.ru У меня win98 , интересно почему этот контрол отсутствует у меня в системе , это стандартая часть ОС или как?
0
sss1973
0 / 0 / 0
Регистрация: 21.11.2009
Сообщений: 8
21.01.2010, 13:32  [ТС] 8
Ваше письмо получил, но не могу скачать 2-а самых маленьких файла!
Если можно отправте пожалуйста ещё раз все файлы , но одним архивом.

Большое спасибо!
0
sss1973
0 / 0 / 0
Регистрация: 21.11.2009
Сообщений: 8
27.01.2010, 12:17  [ТС] 9
Архив получил!СПАСИБО! Но видимо этих 4-х файлов для работы этого контрола не достаточно! Может быть подскажете где Вы взяли этот контрол?
0
27.01.2010, 12:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2010, 12:17

ComboBox, как обратиться к списку по индексу
Здравствуйте, как будет пятая запись, пятая строка в ComboBox q=5 MsgBox...

Как обратиться к функции СРЗНАЧ в Excel?
подскажите пожалуйста как обратиться к функции срзнач в VBA Excel

Как обратиться из Ворда к ячейке Эксель
Sub bbb() Dim objExcel As Excel.Application ' Эксель ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru