Forum: PC-Programmierung OpenOffice home Path


von Lotta (Gast)


Lesenswert?

Hallo,

ich versuche unter Windows und Mac eine gemeinsame Vorlage aus der 
DropBox zu starten und benötige im Makro den Pfad zum Vorlagen-Ordner.
Wenn ich mit SubstService.substituteVariables("$(home)", true) den Pfad 
auslese, lande ich beim Mac im Benutzer-Verzeichnis und kann von dort 
aus mein statisches Pfad-Suffix anhängen. Unter Windows lande ich leider 
im "Documents" Verzeichnis, die Dropbox befindet sich jedoch eine Ebene 
höher im Benutzer-Verzeichnis.

Gibt es in OpenOffice eine Möglichkeit, unter beiden Betriebssystemen 
den jeweiligen Pfad zum Benutzerverzeichnis zu ermitteln? Oder notfalls 
zu erkennen, ob Windows läuft, damit dann der String entsprechend 
manipuliert wird?

Viele Grüße
Lotta

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Lotta schrieb:
> Oder notfalls zu erkennen, ob Windows läuft, damit dann der String
> entsprechend manipuliert wird?

Sieh Dir mal an, wie $home auf einem Mac und unter Windows aussieht. 
Windows verwendet Laufwerksbuchstaben, d.h. in 90% der Fälle fängt $home 
mit c: an bzw. enthält das (je nachdem, wie OO den Pfad verwurschtelt, 
kann also auch mit 'file://' anfangen).

von A. H. (ah8)


Lesenswert?

Für solche Fälle gab es mal die GetGuiType-Funktion, allerdings scheint 
die nicht mehr gepflegt zu werden:

1
GetGuiType-Funktion [Runtime]
2
Gibt einen numerischen Wert zurück, der angibt, welches grafische Benutzer-Interface verwendet wird. Diese Runtimefunktion ist aus Gründen der Abwärtskompatibilität noch vorhanden. Der Rückgabewert ist in Client-Server-Umgebungen nicht definiert!
3
4
Syntax:
5
GetGUIType()
6
7
Rückgabe:
8
Integer
9
10
Rückgabewerte:
11
1 : Windows
12
4 : UNIX
13
14
Beispiel:
15
Sub ExampleEnvironment
16
MsgBox GetGUIType
17
end sub

Was sie auf einem Mac zurück gibt, müsste man mal ausprobieren.

Der einfachste Weg wäre wohl, den Pfad in einer Umgebungsvariable 
abzulegen und von dort auszulesen:

1
PathToDropbox = Environ("PathToDropbox")

Allerdings müsste man die für jeden Nutzer (oder jedes System) 
entsprechend einrichten und pflegen. Ob und wie das unter Mac läuft kann 
ich nicht sagen. Bei Projekten für Windows und Linux habe ich damit ganz 
gute Erfahrungen gemacht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.