Forum: PC-Programmierung benötige Hilfe zu Excel Makro


von Mikro S. (Gast)


Angehängte Dateien:

Lesenswert?

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!

von Axel R. (Gast)


Lesenswert?

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.

von Axel R. (Gast)


Lesenswert?

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.

von Axel R. (Gast)


Lesenswert?

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.

von Axel R. (Gast)


Lesenswert?

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.

von Axel R. (Gast)


Lesenswert?

und?

von Mirko S. (Gast)


Lesenswert?

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?

von Axel R. (Gast)


Angehängte Dateien:

Lesenswert?

alles klar!
siehe Anhang - vom Comport lesen bekommst Du hin?

Gruß
Axel

von Axel R. (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Mirko S. (Gast)


Lesenswert?

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?

von Schmuf van der Hausen (Gast)


Lesenswert?

excel suckt

von Mikro S. (Gast)


Lesenswert?

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?

von Mikro S. (Gast)


Angehängte Dateien:

Lesenswert?

Dort plaziere ich immer meinen Code für die Steuerelemente
siehe Bild

von Mikro S. (Gast)


Lesenswert?

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

von Michael (Gast)


Lesenswert?

Ja, ist ja wohl logisch. Du kannst nicht mehr als einmal den port
öffnen, oder...

von Mirko S. (Gast)


Lesenswert?

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....

von Mirko S. (Gast)


Lesenswert?

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?

von Michael (Gast)


Lesenswert?

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

von Paul (Gast)


Lesenswert?

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  ;-)

von Mirko S. (Gast)


Lesenswert?

Ja das stimmt.
So ricjtig helfen kann mir hier wahrscheinlich niemand.

von AndreasH (Gast)


Lesenswert?

@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

von AxelR. (Gast)


Lesenswert?

ACK

von Leon Shorthand (Gast)


Lesenswert?

NAck
arrogance rulres

von AxelR. (Gast)


Lesenswert?

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.

von Andreas (Gast)


Lesenswert?

@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

von Leon Shorthand (Gast)


Lesenswert?

Don't ignore.

vielen Dank  Axel
I jump for joy...

http://www.nearlygood.com/video/jumpingcar.html

von Gerald (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.