Hallo Jost,
Am 30.01.2013 10:14, schrieb Jost Lange:
Könntest Du Dein Makro so interpretieren, damit sich andere auch
weiterbilden können?
Ein interessantes Anliegen :-)
Was dagegen, wenn ich es mal versuche? Reizt mich irgendwie ...
Wolfgang kann ja dann kommentieren/korrigieren.
Am 29.01.2013 09:01, schrieb Wolfgang Jäth:
Es sollte nicht allzu schwer sein, das als Makro nachzubilden. Hier
meine Lösung:
z.B. so: Progr.-Sprache: . . .
ist vermutlich OOoBasic, also die "Standard-Programmiersprache" von
OpenOffice.org und jetzt eben LibreOffice. Einen neuen Namen (wie z.B.
LibreBasic) hat die Sprache meines Wissens noch nicht erhalten.
------------------------START------------------------
Sub UNICODE
Dim myAuswahl as Object
Übersetzung je Progr.-Zeile: Lies: deutscher Text: . . . .
'Dimensioniere Auswahl als Objekt'
Mein Vorschlag:
Deklariere die Variable "myAuswahl" vom Typ "Objekt"
(Keine Ahnung, ob das Wort "Dimensionieren" gibt)
myAuswahl = ThisComponent.getCurrentSelection()
Weise der Variablen die aktuelle Selektion zu (also was mit der Maus
oder per Tastatur gerade markiert wurde)
If IsNull( myAuswahl ) Then
Falls nix markiert ist,
MsgBox "Fehler: Objekt ""Auswahl"" = NULL"
gib in einer Message-Box (also einem Hinweis-Fensterchen) die Meldung
"Fehler: Objekt ""Auswahl"" = NULL" aus
Else
ansonsten (also WENN irgendwas markiert ist)
Dim myInhalt as Object
deklariere die Variable myInhalt ebenfalls als Objekt
myInhalt = myAuswahl.getByIndex(0)
und weise ihr den ersten Teil (Abschnitt? Portion?) der Auswahl zu
(vermutlich kann eine Auswahl aus mehreren Teile bestehen,
möglicherweise, wenn nicht-zusammenhängende Objekte mittels
Strg+Markierung zusammen markiert wurden)
(oder ist damit der Wert von myAuswahl ab Position 0, also vom ersten
Zeichen an, gemeint???)
If IsNull( myInhalt ) Then
Falls myInhalt ein leeres Objekt ist,
MsgBox "Fehler: Objekt ""Inhalt"" = NULL"
gib die Meldung "Fehler: Objekt ""Inhalt"" = NULL" aus
Else
ansonsten (also wenn die Variable etwas enthält)
Dim myCode as String
deklariere die Variable myCode als Zeichenkette
myCode = myInhalt.getstring()
und weise ihr den Inhalt der Variable myInhalt zu.
If Len( myCode ) <> 4 Then
Sollte die Zeichenkette ungleich 4 Zeichen sein,
MsgBox "Fehler: Selektion ist nicht genau 4 Stellen lang"
gib die obige Fehlermeldung raus.
Else
Ansonsten (also wenn die Zeichenkette genau 4 Zeichen lang ist)
Dim myValue as Long
deklariere myValue als Long (vermutlich eine Integer-Variante)
myValue = clng( "&H"&myCode )
und weise ihr die (nach Long konvertierte, also dezimale) Zahl zu, die
sich aus (der Hexadezimalzahl) "&H" und myCode ergibt
If myValue = 0 Then
Wenn der Wert der Zahl 0 ist,
MsgBox "Fehler: Selektion ist kein Hexadezimalwert"
dann wars kein Hex-Wert,
Else
Ansonsten (ein von 0 abweichender Wert liegt vor)
myCode = Chr( myValue )
weise der Variable myCode das ASCII-Zeichen zum Wert myValue zu
myInhalt.setstring ( myCode )
und überschreibe damit den Inhalt der Variable myInhalt
(die ja bekanntlich die zuvor markierte Stelle/Zeichenfolge enthalten hat)
End If
End If
End If
End If
End Sub
Ende aller Verzweigungen und der Routine.
------------------------ENDE-------------------------
Passt das so?
Schöne Grüße,
Nino
--
Informationen zum Abmelden: E-Mail an users+help@de.libreoffice.org
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Context
- Re: [de-users] Re: Re: Eingabe von Unicodezeichen via Tastatur und Code (continued)
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.