🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

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

VBA-Selection in LO-Basic

Alles zur Programmierung im LibreOffice.
gianni
Beiträge: 19
Registriert: Sa 7. Jan 2017, 14:09
Wohnort: Frankfurt am Main
Kontaktdaten:

Re: VBA-Selection in LO-Basic

Beitrag von gianni » Sa 14. Jan 2017, 20:05

Vielen Dank, Musikai.
Ich empfehle Dir außerdem das Buch "Andrew Pitonyak - OpenOffice.org-Makros Erklärt":
http://www.uni-due.de/~abi070/count.php ... eutsch.pdf
Dieses Buch habe ich bereits seit vielen Jahren und auch jetzt versuche ich verzweifelt daraus zulernen, wie OO-Basic funktioniert.

Es ist aber schwierig!

Zum Beispiel versuche ich herauszufinden, wie ich die Hintergrundfarbe einer Selektion ändere. Mit der Methode, die ich versucht habe, ändert sich aber die Farbe des ganzen Paragraphen!

Jetzt habe ich mit einer Makro-Aufzeichnung ausprobiert, um es vielleicht nachzuahmen:
Bild

Mit VBA wäre es so:
Bild

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: VBA-Selection in LO-Basic

Beitrag von balu » Sa 14. Jan 2017, 20:48

Hallo gianni,

wie ich ja schon an anderer Stelle sagte, ist der Writer nicht meine Welt wenns ums Programmieren geht. Aber ich hatte mich auch schon mal etwas mit den Cursors befasst, wohl nur sehr kurz aber immerhin etwas. Und von daher weiß ich das es nicht einen Cursor für alles gibt, sondern 2 "Haupt-Cursor".
Dieses Buch habe ich bereits seit vielen Jahren und auch jetzt versuche ich verzweifelt daraus zulernen, wie OO-Basic funktioniert.
Na dann ist ja schon mal der erste Schritt getan. Denn dann kanst Du dich ja dort mal mit den verschiedenen Cursors befassen. Und eine so wie ich finde interessante und wichtige Erklärungspassage habe ich gleich mal daraus kopiert.
Andrew Pitonyak hat geschrieben: 14.5.2. Textcursors (im Gegensatz zu Viewcursors)

Der Viewcursor weiß, wie die Daten angezeigt werden, weiß aber nichts über die Daten selbst. Textcursors wissen im Gegensatz dazu eine Menge über die Daten, aber nur sehr wenig über ihre Darstellung.
Viewcursors kennen zum Beispiel keine Wörter oder Absätze, und Textcursors kennen keine
Zeilen, Bildschirme oder Seiten
Um das alles irgendwie nachzuvollziehen ist natürlich der Umgang mit MRI wichtig. Denn damit kannst Du Informationen auslesen, die sonst nicht, oder nur extrem schwer zu bekommen sind.

Aber vielleicht solltest Du dich auch mal bei Dannenhöfer etwas schlau machen, und einlesen.
8.1.12 Welche Formen des Cursors gibt es?
8.1.13 Wie kann man den ViewCursor dem TextCursor übergeben?
8.1.14 Wie geht man mit dem Cursor um?
8.1.19 Warum macht der ViewCursor nicht was ich möchte?

Mehr kann ich jetzt auch nicht helfen. :?



Gruß
balu

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

Re: VBA-Selection in LO-Basic

Beitrag von karolus » Sa 14. Jan 2017, 23:34

Hallo
Zum Beispiel versuche ich herauszufinden, wie ich die Hintergrundfarbe einer Selektion ändere.

Code: Alles auswählen

Sub Main
thisComponent.CurrentSelection.getByIndex(0).CharBackColor = rgb(128,0,0)
End Sub
Was ist da schwierig??
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

musikai
Beiträge: 263
Registriert: Do 14. Mai 2015, 17:53

Re: VBA-Selection in LO-Basic

Beitrag von musikai » Sa 14. Jan 2017, 23:43

Karolus war schneller :-)

MRI ist echt hilfreich, um Einblick in die Möglichkeiten zu erhalten:

Code: Alles auswählen

sub ZeichenHintergrundFarbeMRI
rem-----MRI initialisieren------------
call InitializeMRI()
ovCursor = ThisComponent.CurrentController.getViewCursor()

rem-----Welches Objekt inspizieren?----------
oMRI.inspect ( ovCursor )
end sub
Daraufhin erscheint das Fenster:
MRI benutzen.PNG
MRI benutzen.PNG (97.35 KiB) 3680 mal betrachtet
Die ZeichenHintergrundFarbe ist CharBackColor. Wenn Du es doppelt klickst, bekommst du den wert und im unteren Bereich wird hilfreicher Code erzeugt.

So änderst Du die Farbe

Code: Alles auswählen

sub ZeichenHintergrundFarbe
ovCursor = ThisComponent.CurrentController.getViewCursor()

rem---------zu rot---------------
ovCursor.charbackcolor = rgb(255,0,0) 'rot

rem---------keine HintergrundFarbe--------------
rem ovCursor.charbackcolor = -1 'aus
end sub
Win7 Pro, Sibelius 7.1.3, Lubuntu 15.10, LibO 4.4.7, OO 4.1.3
Free Project: LibreOffice Songbook Architect (LOSA)
http://struckkai.blogspot.de/2015/04/li ... itect.html

gianni
Beiträge: 19
Registriert: Sa 7. Jan 2017, 14:09
Wohnort: Frankfurt am Main
Kontaktdaten:

Re: VBA-Selection in LO-Basic

Beitrag von gianni » So 15. Jan 2017, 10:34

karolus hat geschrieben:Hallo
Zum Beispiel versuche ich herauszufinden, wie ich die Hintergrundfarbe einer Selektion ändere.

Code: Alles auswählen

Sub Main
thisComponent.CurrentSelection.getByIndex(0).CharBackColor = rgb(128,0,0)
End Sub
Was ist da schwierig??
Es ist nicht schwierig, Karolus. Es ist idiotenleicht. Dennoch habe ich mir lange, lange den Kopf darüber zerbrochen! Vergeblich. Na ja! Endlich, endlich habe ich es! Vielen Dank an euch, Musikai und Karolus.


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