Das LibreOffice-Forum braucht Eure HILFE und sagt DANKE!

Encoding-Problem beim shell-Befehl (Linux)

Alles zur Programmierung im LibreOffice.
Antworten
Nucra
Beiträge: 2
Registriert: Mi 25. Mär 2020, 12:30

Encoding-Problem beim shell-Befehl (Linux)

Beitrag von Nucra » Mi 25. Mär 2020, 12:54

Liebe Forumsteilnehmer,

folgendes kleine Makro, um zu einem geöffneten Office-Dokument schnell sein "beinhaltende Verzeichnis" mit einem Dateimanager nach Wahl (in meinem Fall konqueror) öffnen zu können, hat sich seit vielen Jahren bewährt.

Code: Alles auswählen

sub FilemanagerHere
dim strPath As String
  if ThisComponent.URL = "" Then
  	MsgBox "Dokument wurde noch gar nicht gespeichert""
  	Exit Sub
  Else
	If Not BasicLibraries.isLibraryLoaded("Tools") then BasicLibraries.loadLibrary("Tools")
	strPath = DirectoryNameoutofPath(ConvertFromUrl(ThisComponent.URL),"/")
	MsgBox(strPath) ' Bis hierher alles korrekt
    Shell ("/usr/bin/konqueror", 1, "'" & strPath & "'") 
  End if
end sub
Neuerdings - leider kann ich den genauen Zeitpunkt nicht mehr recherchieren - kommt es allerdings zu einem Fehler, wenn im Pfadnamen des zu öffnenden Verzeichnisses (also strPath) Sonderzeichen vorkommen.
Anstelle eines "ö" beispielsweise wird in das Verzeichnisfeld des Dateimanagers "��" eingefügt und der gewünschte Ordner daher "nicht gefunden".

Nachdem die testweise eingefügte MsgBox()-Anweisung noch das korrekte Sonderzeichen anzeigt, nehme ich an, das Problem dürfte in einer fehlerhaften Interpretation des übergebenen strPath liegen.

Über diese Vermutung komme aber seit Tagen nicht mehr hinaus, obwohl ich schon alle mehr oder weniger naheliegenden Einstellungen unter Extras/Optionen/Spracheinstellungen ohne Änderung verändert habe und auch keine Möglichkeit einer Umwandlungsfunktion oder expliziten Angabe des Encodings für den Shell-Aufruf finden konnte.

Wäre daher für alle Hinweise und Ideen dankbar, wie man das Problem lösen (oder zur Not auch nur kreativ umgehen) könnte.

Kontext ist: KDE neon 5.18 (also im wesentlichen Ubuntu 18.04 LTS) mit
LibreOffice Version: 6.4.0.3 (Build-ID: b0a288ab3d2d4774cb44b62f04d5d28733ac6df8,
CPU-Threads: 4; BS: Linux 4.15; UI-Render: Standard; VCL: kf5; Gebietsschema: de-DE (de_DE.UTF-8); UI-Sprache: de-DE
Calc: threaded)

gogo
Beiträge: 893
Registriert: Sa 5. Feb 2011, 19:07

Re: Encoding-Problem beim shell-Befehl (Linux)

Beitrag von gogo » Mi 25. Mär 2020, 19:14

Code: Alles auswählen

Shell ("/usr/bin/dolphin", 1, "'" & strPath & "'") 
und

Code: Alles auswählen

Shell ("/usr/bin/dolphin '" & strPath & "'") 
funktioniert beides - Konqueror hab' ich leider nicht drauf.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Nucra
Beiträge: 2
Registriert: Mi 25. Mär 2020, 12:30

Re: Encoding-Problem beim shell-Befehl (Linux)

Beitrag von Nucra » Mi 25. Mär 2020, 21:23

...macht nichts,

Code: Alles auswählen

Shell ("/usr/bin/dolphin", 1, "'" & strPath & "'") 
habe ich der Vollständigkeit halber ebenfalls getestet und es schlägt bei mir in der gleichen oben beschriebenen Weise fehl.
Danke trotzdem, gogo!

gogo
Beiträge: 893
Registriert: Sa 5. Feb 2011, 19:07

Re: Encoding-Problem beim shell-Befehl (Linux)

Beitrag von gogo » Fr 27. Mär 2020, 09:08

der Dolphin-Befehl funktioniert bei mir - ich habe ein deutsches Kubuntu. Evtl hast Du auf Englisch installiert? Wenn Du im Terminal auf die "z"-Taste drückst kommt dann ein z oder ein y? Versuch' mal ein copy/paste aus der MSG-Box ins Terminal. Du solltest den Messagetext in der MSG-Box markieren und kopieren können - wird aber vermutlich nicht viel bringen.
evtl wäre noch ein bash-script wie folgendes hilfreich:
Datei heisst /home/ich/testbash

Code: Alles auswählen

#!/bin/bash
echo $1 > /tmp/makrotest
testbash asl ausführbar markieren ;)

Zeile im Makro:

Code: Alles auswählen

Shell ("/home/ich/testbash '" & strPath & "'")
cat /tmp/makrotest liefert dann den Inhalt

die Umlaute sind bei mir richtig angekommen
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Antworten