Umsteigen auf OpenOffice: Von VBA zu OpenOffice-Basic

Achtung: RFC1738

Der wichtigste Unterschied zwischen der Methode loadComponentFromURL und VBA-Methoden ist, dass die Dateinamen in URL-Notation angegeben werden, da StarOffice als plattformunabhängige Anwendung konzipiert wurde. OOo verwendet für Dateinamen die betriebssystemunabhängige URL-Notation gemäß dem Internet-Standard RFC 1738.

Gewöhnliche Dateinamen beginnen dabei mit dem Präfix file:/// gefolgt vom lokalen Pfad. Enthält der Dateiname Unterverzeichnisse, so werden diese mit einfachen Schrägstrichen getrennt (also nicht mit dem unter Windows üblichen rückwärtsgewandten Schrägstrich). Der folgende Pfad verweist auf die Datei test.sxc im Verzeichnis Eigene Dateien auf dem Laufwerk C.

file:///C:/Eigene%20%Dateien/test.sxc

Zur Umwandlung von lokalen Dateinamen in eine URL bietet StarOffice die Funktionen ConvertToUrl und ConvertFromUrl an. So liefert beispielsweise die Befehlsfolge MsgBox ConvertToUrl("C:\xyz\test.sxc") die Ausgabe file:///C:/xyz/test.sxc.

Der zu Grunde liegende Internet-Standard RFC 1738 gestattet die Verwendung der Zeichen 0-9, a-z und A-Z. Alle anderen Zeichen werden in einer Escape-Kodierung in die URLs eingefügt. Dazu werden sie in ihren Hexadezimalwert im Zeichensatz ISO 8859-1 (ISO-Latin) umgewandelt und bekommen ein Prozentzeichen vorangestellt. Aus einem Leerzeichen in einem lokalen Dateinamen wird so beispielsweise ein %20 in der URL.

Die Methode loadCompontentFromURL() aus dem Interface XComponentLoader legt durch die Wahl der Argumente bestimmte Eigenschaften des Dokuments fest:

loadCompontentFromURL(string aURL, string aTargetFrameName, long nSearchFlags, sequence <com::sun::star::beans::PropertyValue> aArgs)