www.mikrocontroller.net

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


Autor: Mikro S. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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!

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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...

Es ist nichts abgeschmiert.

Gruß nochmals
AxelR.

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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+opencomp...
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.

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nochmal gegurgelt

http://www.google.de/search?hl=de&q=%22Darren+Rich...

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.

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und?

Autor: Mirko S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Axel R. (axelr) Flattr this
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
alles klar!
siehe Anhang - vom Comport lesen bekommst Du hin?

Gruß
Axel

Autor: Axel R. (axelr) Flattr this
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Mirko S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Schmuf van der Hausen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
excel suckt

Autor: Mikro S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Mikro S. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Dort plaziere ich immer meinen Code für die Steuerelemente
siehe Bild

Autor: Mikro S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael (Gast)
Datum:

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

Autor: Mirko S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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....

Autor: Mirko S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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  ;-)

Autor: Mirko S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das stimmt.
So ricjtig helfen kann mir hier wahrscheinlich niemand.

Autor: AndreasH (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: AxelR. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ACK

Autor: Leon Shorthand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
NAck
arrogance rulres

Autor: AxelR. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Leon Shorthand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Don't ignore.

vielen Dank  Axel
I jump for joy...

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

Autor: Gerald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

wenn man das zuletzt gültige comport schließt, dann sollte OpenComPort 
wieder true zurück liefern?

lg

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.