Seite 1 von 1
Verweis auf andere Calc-Datei
Verfasst: Di, 13.10.2009 13:13
von Frank88
Hallo,
kann mir jemand sagen, wie ich die Zellen eines anderen Spreadsheet anspreche. Also statt
Code: Alles auswählen
MeineZelle=ThisComponent.Sheets..getbyindex(a).getcellbyposition(x,y).string
brauche ich
Code: Alles auswählen
NochNeZelle=TheOtherComponent.Sheets.getbyindex(b).getcellbyposition(m,n).string
Nur so klappt's halt nicht. Gesucht ist der richtige Ausdruck für "TheOtherComponent".
Beide Dateien sind dabei geöffnet (zumindest ThisComponent, weil da ja der Code drin stehen soll). Ziel soll sein, den Inhalt der Zellen einer Datei in die Zellen einer anderen Datei zu übertragen.
Grüße, Frank
Re: Verweis auf andere Calc-Datei
Verfasst: Di, 13.10.2009 14:00
von komma4
Holst Dir halt zunächst das Objekt der anderen Calc-Datei.
Wenn Du über BASIC öffnest hast Du es ja, ansonsten über den
Component Walker rausfinden.
Hilft das?
Re: Verweis auf andere Calc-Datei
Verfasst: Do, 15.10.2009 16:52
von Frank88
Hallo,
ja, das hilft.
Ich hatte mit einem anderen Code-Beispiel versucht, das ich hier im Forum gefunden hatte,
Code: Alles auswählen
GlobalScope.BasicLibraries.LoadLibrary("Tools")
oComponents = StarDesktop.getComponents()
oDocs = oComponents.createEnumeration()
do while oDocs.hasMoreElements()
oDoc = Odocs.nextElement()
datei = odoc.geturl()
'IF ... Then
odoc.Sheets(0).GetCellByPosition(0,0).string
'End If
msgbox datei
loop
aber damit bekomme ich hin und wieder nicht ganz nachvollziehbare Fehlermeldungen.
Über BASIC öffnen, ja, das wär's. Das müßte dann so aussehen, oder?
Code: Alles auswählen
NewWorkbook = StarDesktop.loadComponentFromURL _
("file:///" & DirectoryName & "/My2ndWorkbook.sxc", _
"_blank",0 ,NoArgs() )
Und sollte dann mit
Code: Alles auswählen
MeineZelle=NewWorkbook.Sheets(0).GetCellByPosition(0,0).string
den Inhalt bekommen?
Grüße, Frank
Re: Verweis auf andere Calc-Datei
Verfasst: Do, 15.10.2009 17:34
von komma4
Frank88 hat geschrieben:Ich hatte mit einem anderen Code-Beispiel versucht, das ich hier im Forum gefunden hatte,
Das Prinzip ist das gleiche.
Fehlermeldungen kommen z.B. bei noch nicht gespeicherten Dateien, neewaar?
Frank88 hat geschrieben:Über BASIC öffnen, ja, das wär's. Das müßte dann so aussehen, oder?
So in etwa (ausprobieren)!
Tipps:
* setze den Dateinamen ausserhalb des Aufrufs zusammen,
* verwende
ConvertToURL() Laufzeitfunktion
* verwende die [undokumentierte] Funktion
getPathSeparator() zum Ermitteln des Pfadtrenners
Mit den letzten beiden Punkten bist Du plattform-unabhängig

.