

It works, but I only get part of the string. LngStatus = CommOpen(intPortID, "COM" & CStr(intPortID), "baud=2400 parity=E data=7 stop=1") The string appears on my form, but that is as far as I get. Get to the exit do line, therefore stays in an endless loop. When I run it, and send the string "ST,+00009.28 g" it never seems to I think I am getting close, but have one hurdle that I cannot seem to solve. LngStatus = CommSetLine(intPortID, LINE_DTR, False)Īgain, thanks for helping me out, we are close I think. LngStatus = CommSetLine(intPortID, LINE_RTS, False) LngStatus = CommRead(intPortID, strData, 64) ' Read maximum of 64 bytes from serial port. LngStatus = CommWrite(intPortID, strData) LngStatus = CommSetLine(intPortID, LINE_DTR, True) LngStatus = CommSetLine(intPortID, LINE_RTS, True) LngStatus = CommOpen(intPortID, "COM" & CStr(intPortID), _ What am I doing wrong? Can someone help me put this together to read data from a serial port? I don't need to write, only read.ĭim intPortID As Integer ' Ex. It, it says "Sub or function not defined" on the "lngStatus = CommOpen(intPortID, "COM" & CStr(intPortID), "baud=9600 parity=N data=8 stop=1")" line. For example, Id like to ask the controller what setup program is assigned to.
#Excel vba serial port mscomm control code#
Writing Excel VBA code for MSComm control to use serial communication. Ports.SerialPort COM3,9600,None,8,one opens serial port - adjust. I did that as the first line after the 'Initialze Communications line. Secondly, i tried the seemingly common method of MSCOMM32.OCX. 'intPortID = 1" somewhere to set that variable to com1. I assume that I would need to add some code, i.e. Not being very familiar with this routine, I downloaded the following code andĪdded it to a button on a form. So, I found a suggestion from someone that I handle serial communications with API calls. I have sort of come to the conclusion, that I need to take another route. I have worked on a solution for days and had a lot of help from other forum participants. After replacing the mscomm control with the new control, following the suppliers instructions to the letter, it works, but when I close one of the forms containing the newly added control,Īccess crashes. I found a control that is supposed to replace the mscomm control.
#Excel vba serial port mscomm control windows 7#
After moving to access 2007 and windows 7 of course, the mscomm control no longer works. It uses a MSComm control to read data from a scale. I have a legacy access 2000 database that has been in successful use for over 10 years. Win XP - SP3, MS anycodings_serial-port Office 2010, VB6, MS VS 2010.This is actually a continuation of a post already started relative to serial communications. The same behaviour is observed for MS anycodings_serial-port Winsock Control.įound a similar question on stackoverflow: anycodings_serial-port MSCOMM32.ocx usage causes Not Trusted Error anycodings_serial-port without any concrete answer. The subject is not trusted for specified anycodings_serial-port action.ĭue to this, I am not able to place the anycodings_serial-port control on my form and hence not able to use anycodings_serial-port the same. However, when I try to anycodings_serial-port place MSComm control on my form, it gives me anycodings_serial-port following error. Both techniques require some fairly serious VBA code as well as a deep understanding of either the Windows communications API or the intricacies of the MSCOMM control. I am able to add MS Comm Control to control anycodings_serial-port panel by selecting the same from Tools -> anycodings_serial-port Additional Controls. Excel can communicate in and out the serial port both with API calls and with the MSCOMM.OCX control.

For the same purpose, anycodings_serial-port like we do in VB, I am tring to add MS Comm anycodings_serial-port Control in VBA. My requirement is anycodings_serial-port that the forms created in VBA shall anycodings_serial-port communicate with external system over serial anycodings_serial-port port of my system.
