< návrat zpět

MS Excel


Téma: MScomm1 rss

Zaslal/a 3.4.2013 8:19

Ahojte,
snažím se pomocí exelu a maker komunikovat a zpracovat informace z linky RS232 a potřeboval bych, aby pokud bude něco v bufferu aby se mě pustilo automaticky makro, nevíte jak toho dosáhnout? Nebo jak třeba načítat buffer na pozadí ale tak, aby uživatel mohl normálně pracovat? využívám modulu MScomm. Děkuji za odpověď

Zaslat odpověď >

Strana:  1 2   další »
#012665
Jeza.m
A kde je problém?
Teoreticky by tam mohl být formulář s MSComm prvkem, formulář musí být nastartován jako "non modal" UF.show(0), čímž lze dále běžně pracovat. No a prvek samotný má snad jen jedinou možnost a to
Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = comEvReceive Then
VSTUP = MSComm1.Input
'Udělej něco (což může klidně být v proceduře VSTUP_CHANGE)
End If
End Sub
.
Ale jinak se přiznám že v excelu jsem to nikdy nepoužil, jenom ve VB6.
M@citovat
#012666
avatar
To jsem taky našel na internetu a zkoušel ale tak jak to je napsané to nefunguje, je to asi dané tím, že já to mám pro excel a když tak pracuji s MScomm tak format vypadá asi tak:
port = 6
param = "115200,n,8,1"
Sheets("Nastaveni").MSComm1.Settings = param
Sheets("Nastaveni").MSComm1.CommPort = port
Sheets("Nastaveni").MSComm1.InBufferSize = 250
Sheets("Nastaveni").MSComm1.PortOpen = True

Vždy musím uvést list, a když ho zkusím dat do názvu makra tak to hodí chybu. Nechápu co jsi myslel tím "non modal" OF.show(0) ještě jsem se stím nesetkal.citovat
#012667
Jeza.m
To vypadá, že máš prvek jako součást listu, já předpokládál jeho umístění v Userformu, tudíž nevázáno na list.

M@citovat
#012668
avatar
To vypadá dobře, jak to ale udělám? Jak ho mám dat z listu do userformu a kde ho tam vůbec najdu ten userform?citovat
#012671
Jeza.m
Sám jsem si to zkusil, viz. obrázek, ale nepochodil :-(, prvek přidat jde, ale ne vložit na userform :-/, zkoušel jsem i jeho zaregistrování, ale ani to nepomohlo, no ale může to být i tím že zkouším na pc bez seriového portu :-).
Starší prográmek přímo ve VB po registarci fugoval a funguje, ale nebyl to excel.

Zkus a uvidíš jestli se u Tebe zachová jinak.

M@
Příloha: zip12671_temp.zip (62kB, staženo 30x)
citovat
#012675
avatar
Bohužel u mě to samé, přidám ale nevložím. Nějaký jiný nápad?citovat
#012679
Jeza.m
Trochu jsem googlil :-).
Páni od MS myslí na naše bezpečí a některou z aktualizací nám to zakázali.
Čerpáno z ... http://windowssecrets.com/forums/showthread.php/121174-MScomm-Control-6.0
Jinými slovy v regeditu najít:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{648A5600-2C6E-101B-82B6-000000000014}
a položku Compatibility Flags změnit na 0.

Pak by MSComm měl jít použít.

M@citovat
#012681
avatar
Takže mám dobrou a špatnou zpravu. Vložit se mě to už podařilo ale veškerá komunikace co mě fungovala nejde. u všech příkazů jsem vymazal odkaz na list, protože už tam není neoreticky potřeba. Ale i tak to nejde. Kód je v UserForm1
Private Sub mscomm1_oncomm()
MsgBox ("Zkouska spusteni")
If MSComm1.CommEvent = comEvReceive Then
MsgBox ("Zkouska spusteni")
VSTUP = MSComm1.Input
'Udělej něco (což může klidně být v proceduře VSTUP_CHANGE)
End If
End Sub
citovat
#012682
avatar
Teď jsem experimentoval a ten excel se tvaří jak kdyby o tom, že ho má v tom UserForm ani nevěděl.citovat
#012684
Jeza.m
Nechci se ptát hloupě :-), ale pro jistotu se zeptám, máš tam nějakou proceduru, která otevře u toho prvku port, třeba při inicializaci toho userformu?

Klidně přihoď příklad.

M@citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje