Ich habe im Internet eine XLS Datei gefunden. Auf derr Arbeitsmappe habe ich einen Button gesetzt. Mit dem will ich jetzt erst mal den ComPort öffnen: Private Sub CommandButton1_Click() ComPort.OpenComPort ("COM1","baud=2400 parity=E data=7 stop=1",PortHandle) End Sub Excel bringt immer ne Fehlermeldung. WIe kann ich auf meinem Modul ComPort richtig zugreifen? Ich brächte da mal ein Beispiel wie ich das ComPort Modul richtig nutzen muss!
Hatte ich schon mal ne Klasse reingestellt? Ging um Multimeter, die
direkt ins Excel schreiben.
>..Excel bringt immer ne Fehlermeldung.
das gleiche sagt meine Frau auch immer, wenn an ihrem Conmupter was
nicht geht.
Wie bitte heisst die Fehlermeldung im Wortlaut?
Kann ich jetzt die xls Datei einfach so runterladen, oder schmiert mir
dann hier alles ab?
Gruß
AxelR.
Sach ich doch. Hast Du die Suche benutzt? Ich habe nur mal EXCEL eingtüppt... Sieh mal hier nach -> http://www.mikrocontroller.net/forum/read-1-191804.html#192695 Es ist nichts abgeschmiert. Gruß nochmals AxelR.
so, ich habe mir mal deine ExcelTabelle runtergeladen. Hast Du die "ComPort" Komponente irgentwo deklariert oder als Klasse angemeldet? Oder ist die etwa schon mit dabei? ich habe mal gegurgelt http://www.google.de/search?hl=de&q=excel+opencomport&meta= und im ersten Link http://www.evocom.de/Scopeland/ShowPost.aspx?PostID=11 beim dritten Post steht die Klasse (sagt man hier in VB "Klasse"?). Die muss doch mit ins Programm eingebunden werden. einfach zu sagen Comport.opencomport(Parameter) wird wohl nicht gehen (wie gesagt - es sei denn, "Comport" ist irgentwann bei Excel 2010 ist mit dabei) Sonst könnt ich ja auch schreiben: DVDTray.eject(OPEN|CLOSE) oder CD.burn(test.iso) Verstehst Du, wie ich meine? Gruß AxelR.
nochmal gegurgelt http://www.google.de/search?hl=de&q=%22Darren+Richards%22+comport&meta= und hier http://www.herber.de/forum/archiv/0to4/t369.htm folgendes gefunden: http://herber.de/andere/comport.zip Der Link funzt, habe es aber jetzt noch nicht ausprobiert (wozu auch...) Gruß an alle AxelR.
Hallo Axel, vielen Dank für deine Unterstützung. Leider bin ich in VBA nicht so sehr gut. Ich bekomme es einfach nicht hin. Ich möchte wie gesagt wenn ich einen Button drücke (den ich im Arbeitsblatt eingefügt habe) nur mal den ComPort öffnen und mal ein Zeichen empfangen. Ich bekomme das nicht gebacken. Zuerst mus ich doch das so machen, oder? ComPort.OpenComPort ("COM1","settings....",PortHandle) Ja und bei PortHandle da habe ich Probleme. Wie kann ich korrekt vom ComPort Modul zugreifen?
alles klar! siehe Anhang - vom Comport lesen bekommst Du hin? Gruß Axel
um Makros ausführen zu können, kannst Du z.B. die Sicherheitsstufe auf "Medium" stellen --Eigenes Risiko!--. Dann fragt Excel dich, ob Du das Makro ausführen möchtest, oder lieber nicht. Steht diese Einstellung auf "high", gehts nur, wenn ich vorher bei Dir als "vetrauenswürdig markiert" bin.
Hi Axel, Danke! Und wie kann ich das so machen, dass die Buttons z.B. nicht als Sub deklariert werden.Kann man das nicht so machen, das ich den Code auch auserhalb der Module plazieren kann?
Hi Axel, das mit dem lesen und schreiben klappt nicht. Ich kann in deiner XLS Datei die Buttons nicht editieren. Wie hast du die denn erstellt?
Dort plaziere ich immer meinen Code für die Steuerelemente siehe Bild
Wenn ich mehr als einmal auf den Button "OpenCom4" drücke, dann erscheint im Excelsheet bei COMPORT OPEN = FALSCH. Wenn ich nur einmal drücke dann erscheint Richtig
Ja, ist ja wohl logisch. Du kannst nicht mehr als einmal den port öffnen, oder...
Ok das ist logisch. Wenn ich dann den Port schließe mit Close Port und anschließend wieder öffnen will, dann erscheint immer nicht "FALSCH". Erst wenn ich die XLS Datei beende und neu öffne, dann funktioniert es wieder. Hmmm....
Ok das ist logisch. Wenn ich dann den Port schließe mit Close Port und anschließend wieder öffnen, dann erscheint immer "FALSCH". Erst wenn ich die XLS Datei beende und neu öffne, dann funktioniert es wieder. Hmmm.... Ich möchte nämlich einen String von insgaesamt 10 Zeichen auf die RS232 schreiben. Dazu gibt es ja die Funktion WriteComPort. Wie müsste ich dies umsetzen?
Hallo Mirko, als Tip schreib, doch erstmal ein kleines C-Programm. Mit dem übst Du dann die Kommunikation zwischen dem PC und dem uC. Dann fällt Dir das mit dem EXCEL bestimmt leichter.... Michael
Hi, waere es nicht eine tolle Sache hier eine Art Tutorial zum Thema ''serielle daten ---> Excel'' reinzustellen. ...sozusagen das ComPort.xls Programm in Praxis... Das wuerde bestimmt Vielen helfen !* Dank Paul PS: mir auch ;-)
Ja das stimmt. So ricjtig helfen kann mir hier wahrscheinlich niemand.
@Mirko S. Was Du erwartest ist keine Hilfe sondern die fertige Lösung. Wenn ich alle Threads, die Du eröffnet hast, zusammennehmen, sollte die darin aufgeführten Hinweise locker ausreichen um über die serielle Daten auszutauschen. Alleine in der Comport.xls steht schon alles drin. Du musst Dich nur mal mit dem Quellcode auseinandersetzen. Was dir fehlt sind zum einen Excel-Grundlagen wie Buttons erstellen, daraus Funktionen aufrufen usw. und zum anderen Kenntnisse in den Funktionen von Windows. Software erstellen heisst auch selber probieren und vor allen Dingen die gegebenen Hinweise berücksichtigen. Grüße Andreas
Jetzt macht aber mal alle, das es geht!
wenn das Öffnen des Comports mit
ComPort.OpenComPort("COM1", "baud=9600 parity=N data=8 stop=1",
lporthandle)
funktioniert, kann man sich doch wohl an seinen 10Fingern ausmalen, wie
das Lesen der Daten funktioniert:
ComPort.ReadComPort(lporthandle, inputstring, anz_zeichen)
die Variabel inputstring und anz_zeichen muss natürlich VORHER
deklariert werden.
Dim inputstring As String
Dim anz_zeichen As Long
Um den Rückgabewert der Funktion (Erfolgreich oder nicht) zu bekommen,
DIMmt man sich noch eine Variable für den Rückgabewert. Etweder als
long oder boolean, je nach dem.
Dim com_error as long
com_error = ComPort.ReadComPort(lporthandle, inputstring, read)
Ich kann mir nicht vorstellen, das da niemand selbst drauf kommt -
sorry!!
>..Alleine in der Comport.xls steht schon alles drin. Du musst Dich
nur
mal mit dem Quellcode auseinandersetzen.
@AndreasH
EBEN!!
@Leon
das war wohl nix!
Ich habe google um eine Übersetzung deines Posts gebeten - leider ohne
Erfolg...
Ich bin hier, um evtl. zu helfen. Nicht um alles vorzubeten.
Trotzdem schönen Gruß an alle
AxelR.
@AxelR. Solche Posts von Leon ignoriere ich, da sie an den Tatsachen vorbei gehen. Wenn er sich sämtliche Threads von Mirko angesehen, wie z.B. im Forum PC-Programmierung, hätte, wüsste er was ich meinte. Grüße Andreas
hi, wenn man das zuletzt gültige comport schließt, dann sollte OpenComPort wieder true zurück liefern? lg
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.