1-En effet le controle MSCOMM n'est pas fourni avec EXCEL (donc pas de licence). Par contre, il est tout à fait exploitable.
Copier le fichier MSComm32.ocx dans le dossier system de windows
(en principe c:\windows\system32)
Enregistrer l'ocx MSComm32.ocx dans le registre Windows par la commande Shell: Regsvr32 MSComm32.ocx.
2-En VBA, il suffit ensuite d'instancier une nouvelle classe du controle
On déclare d'abord la variable :
Dim comm as Object
Puis on l'instancie :
Set comm = CreateObject("MSCommLib.MSComm")
With comm
.CommPort = 1
.Settings = "9600,n,8,1"
.PortOpen = True
End With
Pour savoir si des données sont arrivées :
If comm.InBufferCount > 0 Then
...
L'utilisation du controle se fait alors sans problème pour lire des données :
Dim strin as String
strin = comm.Input
ou pour en envoyer
Dim strout as String
comm.Output =strout
Pour libérer le controle utiliser
comm.PortOpen = False
Set comm = Nothing
Partager