Datei öffnen in Writer mit relativem Pfad

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

Moderator: Moderatoren

MH50
*
Beiträge: 19
Registriert: Do, 01.12.2011 23:14

Datei öffnen in Writer mit relativem Pfad

Beitrag von MH50 »

Hallo Leutz,
ich möchte über ein Basic-Macro eine Datei öffnen um Teile des Inhalts in ein Textdokument einzufügen. Das Makro soll sowohl in Win XP, Vista + Win7 funktionieren. Die zu öffnende Datei liegt in einem Ordner in "Eigene Dateien", bzw. "Documents" (Win7). Also brauche ich den relativen Pfad. und da gehts los. Meine Suchereien in div. Dokumentationen und im Netz halfen nicht richtig weiter. Es wird immer nur ein genauer Pfad angegeben. Momentan experimentiere ich mit folgendem Code:

Code: Alles auswählen

Sub TextEinlsen 
REM Text aus Datei einlesen
Dim FileNo As Integer
Dim CurrentLine As String
Dim File As String
Dim Msg as String
' Dateiname festlegen
sURL = ThisComponent.url
Filename = "C:\Users\Arbeit\Documents\OpenNumero" &"\Texte\"& TextName &".txt"
Print Filename
FileNo = Freefile
' Datei öffnen (Lesemodus)
Open Filename For Input As FileNo
' Prüfen, ob Dateiende erreicht ist
Do While not eof(FileNo)
' Zeile lesen
Line Input #FileNo, CurrentLine
If CurrentLine <>"" then
Msg = Msg & CurrentLine & Chr(13)
end if
Loop
' Datei schließen
Close #FileNo
Msgbox Msg
End Sub
"TextName" ist eine Variable die in einer anderen Sub "errechnet" wird. Dieser Code funktioniert soweit. Aber unter zB XP ist dann der Pfad anders.
Mit ThisComponent.url habe ich aber auch den eigentlichen Dateinamen drin + der stört.
Hat jemand eine Idee?
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Datei öffnen in Writer mit relativem Pfad

Beitrag von balu »

Hallo MH,

eine direkte Antwort und Lösung habe ich nicht, aber vielleicht den passenden Tipp für dich.
Wie wärs denn wenn Du die Umgebungsvariable für das Verzeichnis aus dem Betriebssystem ausliest?
Hab da mal eine Testdatei zum auslesen angehängt. Vielleicht kommst Du damit weiter.


Gruß
balu
Dateianhänge
ENVIRON_test.ods
(19.36 KiB) 64-mal heruntergeladen
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Datei öffnen in Writer mit relativem Pfad

Beitrag von F3K Total »

Hi,
mit folgendem Code solltest Du Dein Arbeitsverzeichnis bekommen:

Code: Alles auswählen

function get_work_directory
tmp_pfad = CreateUnoService("com.sun.star.util.PathSettings")
get_work_directory = tmp_pfad.work
msgbox get_work_directory
End function
Unter W7 komme ich auf /documents unter XP auf /eigene Dateien, sollte funzen!
Gruß R

Edit: da hat sich meine Antwort mit der von Balu zeitlich überschnitten.
Edit2: Um mich nicht mit fremden Federn zu schmücken: der Code kommt von Stephan->viewtopic.php?f=18&t=52015#p193757
Zuletzt geändert von F3K Total am So, 12.02.2012 18:47, insgesamt 1-mal geändert.
MH50
*
Beiträge: 19
Registriert: Do, 01.12.2011 23:14

Re: Datei öffnen in Writer mit relativem Pfad

Beitrag von MH50 »

Danke für die schnellen Antworten. Der Code von F3K Total funzt! Super :D
Danke auch an Balu, deine Datei guck ich mir nachher auch noch an.
Gruß
MH50
Antworten