von MH50 » Sa, 11.02.2012 15:49
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?
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 [u]genauer [/u]Pfad angegeben. Momentan experimentiere ich mit folgendem Code:
[code]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[/code]
"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?