Question : MSComm VBA Excel comms with serial port

Hi - I'm an engineer working on trying to control a process using electrical resistance as a feedback. I had a development controller running in Excel VBA communicating with a Fluke 8845A digital multimeter. My pc recently died (for unrelated reasons) and am now attempting to setup the controller on another pc - but no luck,.

The controller relies upon communicating with the 8845A multimeter through a piece of code written in Excel VBA. The code uses MSComm to data to the multimeter and recieve data back from it. This is a nice way to run the controller as I can take the data, process it in vba code, store it to the spreadsheet and then directly provide feedback on what to do next to a robot.

I followed the process of downloading the MSComm ocx into the windows system folder (& system 32), registering it through reg command prompt, altering licences and this is where it goes wrong. I can't add the mscomm axtive x object to a worksheet in excel. I get the following messages:

Cannot insert object.

Can anyone help - I looked at removign the need for the MSComm use by employing some code I've found on-line but am having difficulty in getting this to work - I can open the port and send some data but have errors coming up when I try to read data. I need a solution asap!!!

PS - this is to support a development process - the full production process controller will be programmed by a proper software engineer - not an aero eng!

Cheers

Answer : MSComm VBA Excel comms with serial port

Microsoft Blog (URL 1) recommends replacing MSCOMM32.OCX with API (Application Programming Interface) code and links to a Serial Port Communication page (URL 2) where you can download VB source code to use the API.
1. http://msmvps.com/blogs/access/archive/2009/06/14/an-older-version-of-mscomm32-ocx-has-had-the-quot-kill-bit-quot-flag-set.aspx
2. http://www.thescarms.com/vbasic/commio.aspx

may be Microsoft update might have caused this problem.
Some say that the older version of MSCOMM32.OCX has had its "kill bit" set by update "kb969898" (which was installed on system on 28th June).
Suggestions are to roll back the update, download an new version of MSCOMM32.OCX, or use a completely different method to read/write to the serial ports.

Excel checks the Registry entry in 2 places for lincense for that control:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\
and
HKEY_CLASSES_ROOT\Licenses\

for 4250E830-6AC2-11cf-8ADB-00AA00C00905
this controls GUID ........ I beleive the value is

@="kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun"

If you had these it would be able to be used.

Other cause: http://support.microsoft.com/kb/171280

alternative is a class written by one of Microsoft employees that more or less mimics MSCOMM as far as the properties and the methods go. The advantages of this class? It is free and you already know MSCOMM. It was posted on MSDN a while ago. Grab it here http://msdn.microsoft.com/msdnmag/issues/02/10/netserialcomm/

another way:::
Try going back to your machine and commenting out code associate with the
comm control, remove the control, and removing it from the references.  Then
save the file.  Now move the file to the other machine and recreate the
reference to the comm control and put it back in the workbook.  Then
uncomment the code.


Random Solutions  
 
programming4us programming4us