Relative Pfade unter Linux

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Relative Pfade unter Linux

Beitrag von Charly »

Hallo!

Mein Arbeitgeber hat gerade meinen PC auf Debian-Limux und KDE umgestellt. Jetzt habe ich ein Problem beim Öffnen von Dokumenten im Netzwerk mittels Makro. Unter Windows hatte ich den Laufwerksbuchstaben zur Verfügung, der bei bei allen Teilnehmer im Netzwerk gleich war. Unter Linux beginnt der Pfad mit dem jeweiligen persönlichen Home-Verzeichnis.

Ich habe nun von der Möglichkeit gehört, dass man durch Eingabe der Tilde das Homeverzeichnis automatisch wählen kann.
Leider funktioniert mein Makro nicht damit. Hat vielleicht jemand eine Ahnung, was ich falsch mache.

Code: Alles auswählen

Sub TestRelativerPfad()

Dim myFileProp(0) As New com.sun.star.beans.PropertyValue
oDesktop =   createUnoService("com.sun.star.frame.Desktop")
Pfad = "/~/Test.ods"
Url = ConvertToUrl(Pfad)
oDocument = oDesktop.loadComponentFromURL(Url, "_blank", 0,myFileProp() )

end sub
Gruß
Charly
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Relative Pfade unter Linux

Beitrag von lorbass »

Die Syntax bei Verwendung der Tilde ist Pfad = "~/Test.ods", ohne den führenden Slash.

Gruß
lorbass
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: Relative Pfade unter Linux

Beitrag von Charly »

Hallo Lorbass!

Danke für die Antwort. Leider öffnet mir OpenOffice die Datei auch nicht, wenn ich den führenden Slash weglasse.


Gruß
Charly
Karolus
********
Beiträge: 7438
Registriert: Mo, 02.01.2006 19:48

Re: Relative Pfade unter Linux

Beitrag von Karolus »

Hallo
Stell mal statt der Tilde
environ("HOME")
voran.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: Relative Pfade unter Linux

Beitrag von Charly »

Hallo Karo!

Dank für deine Antwort. Leider funktioniert das auch nicht bei mir. Wenn ich den Befehl Environ("Home") einer Variablen zuweise und mir diese über MSGBOX anzeigen lasse, zeigt sich, dass die Variable leer bleibt. Möglicherweise sind hier irgendwelche Netzwerksperren vorhanden und ich habe keine Administratorenrechte.

Allerdings ist mir am Wochenende eine Ersatzlösung eingefallen. Ich lese jetzt per Makro, den Standardpfad für das Arbeitsverzeichnis aus und filtere mir das jeweilige Homeverzeichnis aus.

Code: Alles auswählen

Sub TestRelativerPfad()

Dim myFileProp(0) As New com.sun.star.beans.PropertyValue
oDesktop =   createUnoService("com.sun.star.frame.Desktop")
Path=createunoservice("com.sun.star.util.PathSettings")

PfadArbeit = path.work
PfadArbeit = ConvertfromUrl(PfadArbeit)
Teil = Split(Pfadarbeit,"/")
Home = "/" & Teil(1) & "/" & Teil(2) & "/"
Restpfad = "Test.ods"
Pfad = Home & Restpfad

Url = ConvertToUrl(Pfad)
oDocument = oDesktop.loadComponentFromURL(Url, "_blank", 0,myFileProp() )
End Sub
Gruß
Charly
Joke
*****
Beiträge: 378
Registriert: Sa, 19.02.2005 20:23

Re: Relative Pfade unter Linux

Beitrag von Joke »

Hallo Charly,
bei der Installation von OOo enthält die bootstrap-Datei den Hinweis, dass das Profil im Home-Verzeichnis angelegt werden soll mit der folgenden Pfadangabe: $SYSUSERCONFIG/.ooo3

Das müsste doch eigentlich auch beim Aufruf von Dateien aus dem Home-Verzeichnis funktionieren.

Joke
OpenSUSE Leap 43, LibreOffice 6
Win7, LibreOffice 6
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: Relative Pfade unter Linux

Beitrag von Charly »

Hallo Joke!

Danke für deinen Typ. Nur nützt er mir nichts, da ich in Bezug auf meinen Bürocomputer, nur stinknormaler Anwender bin. Die Installation macht eine Systemverwaltung. Hier wird mir das Betriebssystem und auch OpenOffice Vers 3.01 zur Verfügung gestellt.

Selbst kann ich nichts installieren. Ich mache mir nur mit Starbasic-Makros das Leben leichter. Das versuche ich auch für meine Mitarbeiter zu erreichen, die zwar auf dieselben Ordner wie ich zugreifen können, aber seit Linux mit einem unterschiedlichen Pfad. Mit meinem obigen Makro kann ich den aber nun ermitteln, so dass ich keine unterschiedlichen Makros schreiben muss.


Gruß
Charly
Joke
*****
Beiträge: 378
Registriert: Sa, 19.02.2005 20:23

Re: Relative Pfade unter Linux

Beitrag von Joke »

Hallo Charly,

ich habe es zwar nicht ausprobiert, habe diesen Pfad aber so verstanden, dass er auf das Home-Verzeichnis desjenigen hinweist, der ihn anwendet.
Wenn du ihn also in ein Makro einbringst, so sollte er meiner Ansicht auf das Home-Verzeichnis desjenigen hinleiten, der das Makro ausführt. ich habe es aber - wie gesagt - nicht ausprobiert.

Joke
OpenSUSE Leap 43, LibreOffice 6
Win7, LibreOffice 6
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: Relative Pfade unter Linux

Beitrag von Charly »

Hallo Joke!

Möglicherweise kann man damit den Pfad auslesen. Nur kenne ich mich damit nicht aus und weis auch nicht wie ich es in ein Makro einbinden kann. Aber da ich, wie bereits gesagt, eine Lösung habe, ist diese Frage nur noch akademischer Natur.


Gruß
Charly
Antworten