Seite 1 von 1

Dokument übergreifender Zugriff

Verfasst: Di, 01.02.2005 20:18
von Wolf
Hallo,

Ich habe folgendes Problem.
Ich möchte von einem Dokument aus ("Dokument1") in dem ein Makro läuft, mit diesem Makro ein zweites Dokument ("Dokument2") aufrufen, mit diesem Makro aus "Dokument1" den Wert einer Tabellenzelle lesen und den Wert in die Zelle in "Dokument2" schreiben.
Nochmal Kurz:

1. "Tabellendokument1" laden
2. Makro in "Tabellendokument1" starten
3. Dieses Makro liest Wert aus "Tabellendokument1"
4. Das Makro öffnet "Tabellendokument2"
5. ...schreibt den Wert in eine Zelle in "Tabellendokument2"
6. ...speichert "Tabellendokument2"
7. Makro schließt "Tabellendokument2"
8. Makro wird beendet.

Die Punkte 4 bis 7 (speziell 5 und 6) sind mein Problem.

Wohl gemerkt, es handelt sich bei dem Makro nur um ein einziges Makro, was im "Tabellendokument1" gespeichert ist.

Weiss jemand, wie ich mit einem Makro ein Dokument öffnen, es an einer bestimmten Stelle ändern, das Dokument speichern und dann schließen kann ?


Dank Euch

Wolf

Verfasst: Di, 01.02.2005 22:11
von Stephan
Die Dateien sind D:\Datei1.sxc und D:\Datei2.sxc

3. Dieses Makro liest Wert aus "Tabellendokument1"

Code: Alles auswählen

x = ThisComponent.Sheets(0).getCellByPosition(0,0).Value
4. Das Makro öffnet "Tabellendokument2"

Code: Alles auswählen

Dim Dokument as Object
Dim sUrl as String
Dim Dummy()
sUrl = ConvertToUrl ("D:\Datei2.sxc")
Dokument = StarDesktop.loadComponentFromURL	( sUrl , "_blank", 0, Dummy() )
5. ...schreibt den Wert in eine Zelle in "Tabellendokument2"

Code: Alles auswählen

Dokument.Sheets(0).getCellByPosition(0,0).Value = x

6. ...speichert "Tabellendokument2"

Code: Alles auswählen

Dokument.storeToUrl(  sUrl , Dummy() )
7. Makro schließt "Tabellendokument2"

Code: Alles auswählen

Dokument.Close(true)

Code: Alles auswählen

Sub Main
x = ThisComponent.Sheets(0).getCellByPosition(0,0).Value
Dim Dokument as Object
Dim sUrl as String
Dim Dummy()
sUrl = ConvertToUrl ("D:\Datei2.sxc")
Dokument = StarDesktop.loadComponentFromURL	( sUrl , "_blank", 0, Dummy() )
Dokument.Sheets(0).getCellByPosition(0,0).Value = x
Dokument.storeToUrl(  sUrl , Dummy() )
Dokument.Close(true)
End Sub
Gruß
Stephan

Verfasst: Mi, 02.02.2005 09:22
von Wolf
Hallo Stefan,

Sieht gut aus, das probiere ich aus.
Danke für die schnelle und exakte Antwort.

Wolf