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]

Antwort per Email an