Hat jemand einen Tip für beide Probleme ?
Nein, nicht wirklich. Trotz der scheinbaren Leichtigkeit der Aufgabe lese ich im englischen Forum das CHDir CHDrive nicht funktionieren und kann mich auch selbst davon überzeugen.
Nur wozu soll Deine Anfrage gut sein, wenn Du in ein *bestimmtes* Laufwerk wechseln willst, wozu mußt Du dafür alle Laufwerke kennen? Und wozu willst Du überhaupt wechseln, gehen tut es ohnehin nicht weil die genannten Funktionen defekt sind.
Für eine Datei die OOo öffnen kann ist das alles nicht nötig, deren Adresse kriegst Du mit:
ThisComponent.URL direkt heraus
bzw. eigentlich, wenn Du von außen zugreifen mußt kannst Du ermitteln wo sie ist wenn Du ihren Pfad bezüglich der Laufwerkswurzel kennt, beispielsweise:
Code: Alles auswählen
Sub Main()
Dim a(0) As String
'nicht Diskette A & B
For i = 67 To 90
if FileExists (CHR(i) & ":\test.txt") then
a(i-67) = CHR(i)
x = UBOUND(a())+1
Redim Preserve a(x) As String
End If
Next i
x = ""
For i = 0 To UBOUND(a())-1
x = x & a(i) & CHR(13)
Next i
msgbox x
End Sub
Sicherlich ist das Ganze aber betriebssystemspezifisch zu lösen, unter Windows beispielsweise mit einer Batch, auf deren Ergebnisse Du auch per Makro zugreifen kannst, nur DEin Betriebssystem nennst Du nicht.
Gruß
Stephan