Moin Horst,
> Ich möchte zwischen zwei Calc Dateien Werte austauschen.
Eine Frage zu Deinem Problem, soll die Datei2 nach dem Eintrag der neuen
Daten geschlossen werden?
Ich habe ein Beispiel, wie Daten aus einer Datenbank in ein Calc-Dokument
exportiert werden.
Die Daten werden in den Arrays "spalte" und "daten" ausgelesen.
Allerdings wird das Dokument nach dem Export geschlossen.
Hier das Beispiel:
'-----------------
Sub export
'Variable für die Hinweisbox
Dim hinweis As string
Dim i As Integer
'Zunächst die Variablen zur Erzeugung des Dokumentes
Dim Pfad As String
Dim titel As String
Dim dateiname As String
Dim url As String
'Variablen für das eigentliche Calc-Dokument
Dim dokument As Object
Dim tabelle As Object
Dim args(0) As New com.sun.star.beans.PropertyValue
Dim zelle As Object
'Einstellen der Variablen für das Calc-Dokument
titel ="Datenexport vom " & Date()
dateiname = "Datenexport.ods" '"Datenexport vom " & Date() & ".ods"
pfad = "C:"
url = ConvertToUrl(pfad & "/" & dateiname)
args(0).Name = "Overwrite"
args(0).Value = True
'Einstellen der Variablen für das Hinweisfenster
hinweis = "Die Datei mit der Bezeichnung" & chr(13) & _
dateiname & chr(13) & _
"ist bereits vorhanden!" & chr(13) & _
" Überschreiben? "
'Jetzt prüfe ich, ob es bereits eine Datei mit dem Namen gibt.
If FileExists(url) then
i = msgbox( hinweis , 52,"Datensatzexport")
If i <> 6 then
Exit Sub
End if
End if
'Jetzt wird das eigentliche Calc-Dokument erzeugt
dokument =
starDesktop.loadComponentFromURL("private:factory/scalc","_blank",0,
Array())
tabelle = dokument.Sheets(0)
'Füllen der Spaltenüberschriften
'Zunächst Rücksetzen der Zählvariable i
i = 0
Do while i <= 6
zelle = tabelle.getCellByPosition(i, 0)
zelle.String = spalte(i +1)
i = i +1
loop
'Füllen der Datenfelder
'Zunächst Rücksetzen der Zählvariable i
i = 0
Do while i <= 6
zelle = tabelle.getCellByPosition(i, 1)
zelle.String = daten(i +1)
i = i +1
loop
'Speichern und schliessen des Dokumentes
dokument.storeAsURL(url,args)
dokument.close(False)
End Sub
'---------------
Gruß
Jan
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]