Mit Makro TextBox einlesen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Mit Makro TextBox einlesen

Re: Mit Makro TextBox einlesen

von eBayer » Mi, 08.04.2009 14:17

Schau mal hier nach:
http://www.dannenhoefer.de/faqstarbasic/
http://www.wienandt.de/seiten/openoffice.htm
Dort steht schon eine ganze Menge und vor allen Dingen findest Du dort weiterführende Links.
Weiter viel Spaß
eBayer

Re: Mit Makro TextBox einlesen

von spencer » Mi, 08.04.2009 12:45

hehe und es klappt wieder. . . nochmals danke. kennst du irgend welche seiten, wo ich einen schnellen einstieg in basic bekomme?

Re: Mit Makro TextBox einlesen

von eBayer » Mi, 08.04.2009 12:01

Es ist immer der gleiche Weg:


oForm = oDoc.drawpage.forms.getbyindex(0) ' gibt Dir Dein aktuelles Formular als Object
oControl = oForm.getByName("Feldname1") ' gibt Dir Das entsprechende Eingabefeld des Formulars als Object
sText1 = oControl.text ' gibt Dir den Inhalt (Text) vom Object oControl

oder umgekehrt.....
oControl.text = "neuer Inhalt"

Re: Mit Makro TextBox einlesen

von spencer » Mi, 08.04.2009 11:45

och :( will jetzt einfach nur ein neues Textfeld erzeugen und dann den gesendeten String dort auszeigen lassen. Habe eine TextBox erstellt (TextBox10). Dann wollte ich sie, wie oben als Objekt deklarieren. Nur wie bekomme ich jetzt den String da rein ? :lol:

Re: Mit Makro TextBox einlesen

von spencer » Mi, 08.04.2009 09:37

Haha sauber, nach ein bischen fummeln geht es. Vielen Dank, jetzt fällt mir eine last von den Schultern .... Hab es jetzt alles noch ein bischen angepasst.

Re: Mit Makro TextBox einlesen

von eBayer » Di, 07.04.2009 13:06

Naja, Du sollst ja auch noch was zum denken haben..... ;-)
Der Punkt war natürlich ein Tippfehler.... Komma ist richtig.
Ich weiß nicht, was Du mit der Variablen a tust.
Du kannst sie ja als Objct definieren. Dim a As Object einfach in die nächste Zeile und in der Zeile wo es jetzt steht, dim a und das Komma davor löschen.
Falls Du den Code einfach nur von hier kopiert hast, kann da natürlich auch ein unsichtbares Zeichen hineingeraten sein.
Das mußt Du einfach austesten.
Viel Erfolg und Gruß
eBayer

Re: Mit Makro TextBox einlesen

von spencer » Di, 07.04.2009 11:11

viel Dank erst mal für die Mühe. Das sieht ja so schon ganz gut aus nur bekomme ich in der zweiten Zeile bei "As Objekt." eine Fehlermeldung: Erwarte: ,. ... ersetze ich den Punkt durch ein Komma, meckert er an der 15ten Zeile " As Object, Dim a". Dort erwartet er ein Symbol




MfG

Re: Mit Makro TextBox einlesen

von eBayer » Mo, 06.04.2009 16:25

So kannst Du auf die Felder Deines Formulars per Makro zugreifen:

Sub Senden
Dim oDoc As Object. oForm As Object, oControl As Object, sText1 As String, sText2 As String, sReturn As String
oDoc = thisComponent
oForm = oDoc.drawpage.forms.getbyindex(0) ' gibt Dir Dein aktuelles Formular als Object
oControl = oForm.getByName("Feldname1") ' gibt Dir Das entsprechende Eingabefeld des Formulars als Object
sText1 = oControl.text ' gibt Dir den Inhalt (Text) vom Object oControl
oControl = oForm.getByName("Feldname2") ' gibt Dir Das entsprechende Eingabefeld des Formulars als Object
sText2 = oControl.text ' gibt Dir den Inhalt (Text) vom Object oControl
msgbox sText ' und so kannst Du den Text zu Testzwecken anzeigen. Ist natürlich im normalen Ablauf nicht notwendig.
' Nun brauchst Du doch nur sText nach Com übertragen....
sReturn = Senden2Com(sText1, sText2)
msgbox sReturn
End Sub

Function Senden2Com(sOut1, sOut2)
Dim sendstr As string, oObj As Object, Dim a
oObj = createUnoService("org.openoffice.comp.rsapi")
oObj.setdevice("COM1")
sendstr = ("*G1$C1$T") 'vorbelegung
sendstr = sendstr & sOut1
sendstr = sendstr & ("$F")
sendstr = sendstr & sOut2
sendstr = sendstr & chr(10)&chr(13)
oObj.opencom("9600,8,2")
a = oObj.rts(1)
oObj.sendstring(sendstr)
oObj.closecom()
' Falls Fehler an Senden zurückgemeldet werden soll kannst Du das hier machen:
Senden2Com = "meine Fehlermeldung"
End Function

Etwas umständlich, aber so besser nachzuvollziehen.
Hilft Dir das weiter?
Gruß eBayer

Re: Mit Makro TextBox einlesen

von spencer » Mo, 06.04.2009 15:41

ich habe ein Formular. Dort befinden sich mehrere Textfelder , die sich wiederum auf eine Tablle beziehen. Um den Datensatz jetzt an die serielle Schnittstelle senden zu können, brauche ich die Daten aus den Textfeldern bzw aus der Tabelle.

Re: Mit Makro TextBox einlesen

von komma4 » Mo, 06.04.2009 15:31

spencer hat geschrieben:wie ich die Daten aus dem Textfeld bekomme
Was für ein Textfeld?
Writer-Feldfunktion, Dialog oder Formular?

Für alle drei Möglichkeiten solltest Du auch Beispiele im BASIC-Bereich finden...



Viel Erfolg!

Re: Mit Makro TextBox einlesen

von spencer » Mo, 06.04.2009 15:24

damit kann ich nicht so viel anfangen. Ich möchte nur wissen, wie ich die Daten aus dem Textfeld bekomme und dann senden kann. Das normale Senden funktioniert wunderbar.

Re: Mit Makro TextBox einlesen

von eBayer » Mo, 06.04.2009 14:55

schau doch mal hier nach: http://www.thomas-wollmann.de/?p=27

Mit Makro TextBox einlesen

von spencer » Mo, 06.04.2009 13:24

Hallo,
leider habe ich nocht nicht die passende Antwort gefunden oder erhalten (Suchfunktion benuzt), deshalb versuche ich es noch mal. Bin absoluter neuling, deshalb bitte ich um Geduld :-) ...ich habe ein Makro dort will ich ein Textfeld einlsen und den Inhalt dann an eine serielle Schnittstelle senden. So sieht mein Quelltext aus:

Sub main

Dim sendstr as string

oObj = createUnoService("org.openoffice.comp.rsapi")
oObj.setdevice("COM1")

sendstr = ("*G1$C1$T") 'vorbelegung
sendstr = sendstr & TextBox 'hier soll der erste Datensatz aus der Box gesendet werden
sendstr = sendstr & ("$F")
sendstr = sendstr & TextBox1 'hier soll der zweite Datensatz aus der Box gesendet werden
sendstr = sendstr & chr(10)&chr(13)

oObj.opencom("9600,8,2")
a = oObj.rts(1)

oObj.sendstring(sendstr)

oObj.closecom()

Danke MfG
spencer

Nach oben