Hey Andreas,
keksi1970 hat geschrieben:Aber wie wäre es mit nem Tipp, wie ich auf eine Neu-geöffnete Datei zugreife, wenn nicht mit thiscomponent, ...
Na im Grunds so, wie du es sowieso schon machst. Du öffnest dein neues Dokument mit
Code: Alles auswählen
oDocument = oDesktop.loadComponentFromURL( sSourceFile, "_blank", 0, myFileProp() )
- jetzt ist das Objekt des neuen Dokumentes gespeichert in der Variablen "oDokument". Ist diese Global definiert, hast du jederzeit zugriff auf das Objekt - und somit auf dein Dokument.
keksi1970 hat geschrieben:ein Beispiel für die Fehlerroutine wäre auch nicht schlecht, muss ich dazu alle Fehlermöglichkeiten bedenken, oder geht das generell (bei Fehler gehe nach FEHLER , msgbox "der und der Fehler" ?
Das geht zwar generell - so meinte ich das aber gar nicht.
Aber z.B.
Du öffnest eine Datei:
Code: Alles auswählen
sUrl = convertToURL("d:/meinPfad/meineDatei.ott")
...
oDoc = oDesktop.loadComponentFromURL( sURL, "_blank", 0, myFileProp() )
Existiert die Datei nicht oder liegt sie wo anders, so führt die "Lade"-Zeile zu einem Fehler.
Also: Zuerst prüfen, ob die Datei auch wirklich existiert, dann erst öffnen, sonst Fehlermeldung!
so etwas in der Form:
Code: Alles auswählen
sUrl = convertToURL("d:/meinPfad/meineDatei.ott")
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
if oUcb.exists(sURL) then 'Datei existiert
...
oDoc = oDesktop.loadComponentFromURL( )
else 'Datei existiert nicht
msgbox ("Die Datei """ & convertFromURL(sUrl) & """ existiert nicht!" , 16, "Fehler!")
exit sub
end if
keksi1970 hat geschrieben:ist dir schon was zum Thema Hyperlink auf einem anderen Blatt eingefallen ??
Hmm, was soll mir einfallen? DAs musst du ausprobieren - und dazu evt. Recherche betreiben. Es ist nicht trivial, per Basic Hyperlinks in
Tabellenzellen zu schreiben. Ein Codeschnipsel, wie du Hyperlinks zu URL Adressen setzt, kann ich dir liefern:
Code: Alles auswählen
...
oCell = odoc.sheets().getByName("meinTabellenblatt")
oText = oCell.getText
oLink = oDoc.createInstance("com.sun.star.text.TextField.URL")
oLink.URL = "http://de.openoffice.info"
oLink.Representation = "Das OpenOffice.org Forum"
oCell.insertTextContent(oText.createcreateTextCursor(), oLink, True)
...
oDoc representiert dein Dokument (Objekt). Wahrscheinlich musst du nur dieses Beispiel apasssen
Viele Grüße
Thomas