Hallo Tode,
als ich vorhin Deinen letzten Beitrag las, verstand ich nicht, was Du mir damit sagen wolltest. Es bedurfte eines lockeren 15-km-Laufes, bevor ich den Tages- und Wochenmüll soweit verarbeiten konnte, dass ich schnallte, was Du meinst, bzw. wie Du meinen Beitrag übersetzt hast.
Das Ziel war mir klar: aus Filepath nur den zum Notes-Dataverzeichnis relativen Teil herauszufiltern. Ich vermute, dass Du mich so verstanden hast, dass Du es später mit dem von Dir geschriebenen Ini-Eintrages machen solltest. Ich meinte mit Ini-Eintrag den Directory-Eintrag.
Deshalb nochmal deutlich, was ich meine. Ich weiß, dass ich Dir das nicht erklären muss, ich tue es für die Mitleser.
Der Directory-Eintrag lautet:
C:\Notes\Data\
Filepath gibt:
C:\Notes\data\test\Test.nsf
Ein strleft reicht hier nicht, da C:\Notes\Data\ nicht in C:\Notes\data\test\Test.nsf enthalten ist.
Vor dem strleft alles mit Lcase umwandeln, ist auch nicht gut, weil dann anstelle von test\Test.nsf test\test.nsf zurückkäme.
Deshalb
If Left (Lcase ("C:\Notes\data\test\Test.nsf"), Len ("C:\Notes\Data\")) = Lcase ("C:\Notes\Data\") Then
filepathkorrekt = Mid ("C:\Notes\data\test\Test.nsf", Len ("C:\Notes\Data\") + 1)
End If
Falls im Directory nur C:\Notes\Data steht, bekommt man ein \test\Test.nsf zurück, deshalb zuletzt noch ein
Do While Left (filepathkorrekt, 1) = "\"
filepathkorrekt = Mid (filepathkorrekt, 2)
Loop
Das ganze packt man sich noch als wiederverwendbare Funktion in eine zentrale Bibliothek und hat dann m.E. alle Eventualitäten abgefrühstückt (außer, dass statt \ ein / verwendet wird, habe ich aber noch nirgends gesehen).
Soweit mein Beitrag zum Wochenende, wünsche ein angenehmes ...