Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/26: Рейтинг темы: голосов - 26, средняя оценка - 4.81
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718

Возможно ли управлять LPT портом с помощью VBA

25.01.2012, 13:36. Показов 5207. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможно ли управлять LPT портом с помощью VBA и что для етого нужно?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.01.2012, 13:36
Ответы с готовыми решениями:

Как с помощью VBA работать с COM портом?
Кто знает как с помощью VBA работать с COM портом? Если можно примеры , ссылки т.п. Заранее благодарен всем кто откликнется!!

Как с помощью VBA управлять включением/выключением NumLock?
Уважаемые господа, поскажите, пожалуйста, как с помощью VBA управлять включением/выключением NumLock.

Управлять с помощью VBA закрытой книгой, которая находится на локальном сервере
Приветствую! Ребят, нужна помощь в теоретическом вопросе. Я не силен в VBA и программировании в целом, но есть идея для упрощения...

14
 Аватар для pincet
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
25.01.2012, 14:30
Лучший ответ Сообщение было отмечено как решение

Решение

http://www.xserver.ru/computer/sredaprogr/msvb/14/
3
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
25.01.2012, 16:06  [ТС]
ето уже шо то но как еге использавать у ВБА

Добавлено через 1 минуту
нужно ли шото допольнительное подключать или ето все есть в стадатрном офисе хр
0
 Аватар для pincet
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
25.01.2012, 17:46
Все будет окэ - главное либы объяви
0
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
31.01.2012, 13:53  [ТС]
жители даного форума может кто то может толком обяснить как работать с ЛПТ портом в ВБА.....
0
Эксперт по электронике
6855 / 3279 / 339
Регистрация: 28.10.2011
Сообщений: 12,816
Записей в блоге: 7
31.01.2012, 14:25
Для работы с LPT портом на NT системах, нужно использовать драйвер. Можно конечно и через API OS, но с помощью драйвера намного проще.
Ищите информацию как из VBA обращаться к драйверам.
1
 Аватар для pincet
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
31.01.2012, 21:10
Лучший ответ Сообщение было отмечено как решение

Решение

Держи. Поделка делана туеву хучу времени назад. Помню одно - нужна inpout32.dll - думаю, гугл подскажет, где разыскать
06.09.09 19.17.21.rar
4
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
01.02.2012, 20:08  [ТС]
и так inpout32.dll у меня есть .........как я понял его нужно как то в ХР зарегистрировать
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
01.02.2012, 20:17
например:
В меню Пуск Выполнить ввести:
regsvr32 mscomm32.ocx
ОК - регистрация библиотеки
Если регистрация файлов *.dll или *.ocx прошла успешно, появится соответствующее сообщение
Например, в Windows Vista появится окно RegSvr32 с сообщением:
«Успешное выполнение DllRegisterServer в C:\WINDOWS\system32\msvbvm50.dll»
1
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
02.02.2012, 16:36  [ТС]
Ципихович Эндрю, шото в ХР не регисрируется.......есть еще какие то варианти регистрации *.dll в системе
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
02.02.2012, 17:32
Лучший ответ Сообщение было отмечено как решение

Решение

...е-мае, да не нужно ее регистрировать, эта DLL не предоставляет COM-интерфейсы, она не ActiveX (а mscomm32 нужно, но это для COM порта, так что не к месту). Первую же ссылку cо второго поста TC еще раз читаем или читаем это http://www.codeproject.com/Art... pout32-dll.

Объявляете функции, например, так:
Visual Basic
1
2
Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
 Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
и пользуетесь ими:
Visual Basic
1
Out &H378, 0: Out &H378, 2
...или:
Visual Basic
1
2
3
4
5
6
7
8
9
Private Declare Sub Out Lib "inpout32.dll" _
                        Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
Dim I As Integer
 
Sub test()
    I = 5
    Out &H378, i  ' Записать это число в порт
    Out &H378, 0  'обнулить разряды D0 - D7
End Sub
или:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Module InpOut32_Declarations
    Public Enum PortAddress
        Data = &H378
        Status = &H379
        Control = &H37A
    End Enum
 
    Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As PortAddress) As Integer
    Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As PortAddress, ByVal Value As Integer)
End Module
 
 
 
Out(PortAddress.Data, 0)
Важное замечание! TC, укажите версию вашей винды, если 64-бит, то используйте - inpout64.dll.

==============
Также с LPT портом можно работать с помощью <dlportio.dll>:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Public Declare Function DlPortReadPortUchar Lib "dlportio.dll" _
   (ByVal Port As Long) As Byte
Public Declare Function DlPortReadPortUshort Lib "dlportio.dll" _ 
   (ByVal Port As Long) As Integer
Public Declare Function DlPortReadPortUlong Lib "dlportio.dll" _ 
   (ByVal Port As Long) As Long
 
Public Declare Sub DlPortReadPortBufferUchar Lib "dlportio.dll" _
   (ByVal Port As Long, Buffer As Any, ByVal Count As Long)
Public Declare Sub DlPortReadPortBufferUshort Lib "dlportio.dll" _ 
   (ByVal Port As Long, Buffer As Any, ByVal Count As Long)
Public Declare Sub DlPortReadPortBufferUlong Lib "dlportio.dll" _ 
   (ByVal Port As Long, Buffer As Any, ByVal Count As Long)
 
Public Declare Sub DlPortWritePortUchar Lib "dlportio.dll" _ 
   (ByVal Port As Long, ByVal Value As Byte)
Public Declare Sub DlPortWritePortUshort Lib "dlportio.dll" _
   (ByVal Port As Long, ByVal Value As Integer)
Public Declare Sub DlPortWritePortUlong Lib "dlportio.dll" _
   (ByVal Port As Long, ByVal Value As Long)
 
Public Declare Sub DlPortWritePortBufferUchar Lib "dlportio.dll" _
   (ByVal Port As Long, Buffer As Any, ByVal Count As Long)
Public Declare Sub DlPortWritePortBufferUshort Lib "dlportio.dll" _
   (ByVal Port As Long, Buffer As Any, ByVal Count As Long)
Public Declare Sub DlPortWritePortBufferUlong Lib "dlportio.dll" _
   (ByVal Port As Long, Buffer As Any, ByVal Count As Long)
Вложения
Тип файла: zip Inpout32_dll_source.zip (20.2 Кб, 75 просмотров)
Тип файла: zip InpOutBinaries_DLL_32-64.zip (53.4 Кб, 84 просмотров)
Тип файла: zip test_inpout32_vb6.zip (3.4 Кб, 71 просмотров)
Тип файла: rar DLPortIO.rar (3.3 Кб, 76 просмотров)
5
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
04.02.2012, 13:35  [ТС]
Все получилось, все намного проще чем я думал.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
04.02.2012, 13:40
ну и выложите пжл пример, чем управляете и как
0
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
07.02.2012, 01:05  [ТС]
Ципихович Эндрю, пока только опробывал ваш код о подаче сигнала на лпт порт...все елементарно работает. А работаю над автоматическим управлением системой магнитных пускателей(220В и 380В,9-15А) с помощю смс, в чем вы мне здорово помогли, за что от меня большая благодарность.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
07.02.2012, 11:59
Цитата Сообщение от IvanOK Посмотреть сообщение
опробывал ваш код
когда выложил - хз

Цитата Сообщение от IvanOK Посмотреть сообщение
работаю над автоматическим управлением системой магнитных пускателей(220В и 380В,9-15А) с помощю смс
не моя тема

Цитата Сообщение от IvanOK Посмотреть сообщение
от меня большая благодарность
пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.02.2012, 11:59
Помогаю со студенческими работами здесь

Можноли управлять LPT портом без компонента
Можноли управлять LPT портом без компонента, а если без него нельзя, то какой надо скачавать(на 7 винду)?

Возможно ли принимать и передавать в LPT-шный порт с помощью ReadFile и WriteFile&
Возможно ли принимать и передавать в LPT-шный порт с помощью ReadFile и WriteFile (логику '1','0') ? И хотябы маленький пример или...

Написать программу, с помощью которой станет возможно создавать мини-соцсети и управлять ими
У меня по java экзамен (онлайн) сейчас 2 дня у меня до конца ( Я пытаюсь написать задание но не могу... Не хватает знаний. Вот подумал -...

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

Управление LPT портом
Хочу управлять портом LPT через уже установленный стандартный драйвер, отправляя ему управляющие IOCTRL. Как это сделать ? Где достать...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru