❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️

❤️ HELFEN SIE JETZT >> << HELFEN SIE JETZT ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗


EA-Felder

Alles zur Programmierung im LibreOffice.
Antworten
MaximilianWe
Beiträge: 40
Registriert: So 7. Aug 2011, 22:28

EA-Felder

Beitrag von MaximilianWe » Mo 15. Sep 2014, 09:17

Was ich in C/C++ kann, fehlt mir offenbar in Basic. Folgendes Problem:

Mit der Funktion "eingeben" erscheint in Basic ein Eingabefenster; ich möchte aber nun ( wie bei C) dass in einem Fenster der Wert einer (string-)Variuablen angezeigt wird und ich diesen Wert beliebig verändern und dann wieder in die Variable zurückgeben kann. So eben, wie man in C (Dialog-)Masken programmieren kann.
Ich bräuchte da wieder einmal Nachhilfe.


Max

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2604
Registriert: Fr 10. Dez 2010, 10:01

Re: EA-Felder

Beitrag von karolus » Mo 15. Sep 2014, 09:30

Hallo
Es gibt keine Funktion `eingeben` in Basic ... meinst du

Code: Alles auswählen

x = inputbox("stimmts so ???  " , , x) 
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

MaximilianWe
Beiträge: 40
Registriert: So 7. Aug 2011, 22:28

Re: EA-Felder

Beitrag von MaximilianWe » Mo 15. Sep 2014, 10:20

Ich habe mir da über die Möglichkeiten bei Tabellen eine Funktion gebastelt:

Function eingeben (tab as integer, pos as string, auff as string)
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
cellinhalt= inputbox (auff)

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name="ToPoint"
args1(0).Value= pos
dispatcher.executeDispatch(document,".uno:GoToCell", "" ,0, args1())
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name= "StringName"
args2(0).value=cellinhalt
dispatcher.executeDispatch(document,".uno:EnterString", "", 0, args2())
eingeben = cellinhalt

end Function

Ist wahrscheinlich schrecklich unmständlich, aber als Eingabe funktionierts. Aber icvh kann in das Feld eben nicht einen Anfangswert übernehmen.

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2604
Registriert: Fr 10. Dez 2010, 10:01

Re: EA-Felder

Beitrag von karolus » Mo 15. Sep 2014, 11:01

Hallo

Code: Alles auswählen

Function eingeben(kopf,vorgabe)
    eingeben = inputbox(kopf, ,vorgabe)
End Function
 
Aufrufen aus Calc zB. per

Code: Alles auswählen

=EINGEBEN("häh ?"; AKTUELL())
ich würde da eigentlich gleich etwas in die Zelle eingeben statt indirekt über selbstgebastelte Funktionen mit InputBox'en
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten