ich möchte folgendes in einem OpenOffice Calc Dokument erreichen:
Die Tabelle "Testtabelle.ods" ist in einem Pfad abgespeichert.
Sofern Änderungen an dieser Tabelle vorgenommen und gespeichert werden, soll eine gleichnamige .xml (Microsoft Excel 2003 XML) angelegt werden.
Das dachte ich auch erreicht zu haben, indem ich den Prozess des Abspeichers mittels "Makro aufzeichen" festgehalten und dieses Makro über Extras > Anpassen > Ereignisse dem Ereigniss "Dokument sichern" zugeordnet habe. Das Zuweisen des Makros zu dem Ereignis wird aber trotz Speichern des Dokuments nicht in dem Dokument gespeichert. Nach erneuten Öffnen des Dokuments ist diese Zuweisung wieder verloren.
Jemand eine Idee dafür?
Hier das Makro:
Code: Alles auswählen
REM ***** BASIC *****
sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///D:/_Temp/Testtabelle.xml"
args1(1).Name = "FilterName"
args1(1).Value = "MS Excel 2003 XML"
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
end sub
Deswegen hatte ich die Idee, das dass Makro OpenOffice anschließend schließt.
Dazu habe ich im Internet recherchiert und einige Sachen ausprobiert. Leider alle ohne Erfolg.
Die zweite und bessere Alternative wäre, das beim Speichern das xml-File zwar angelegt, aber nicht geöffnet wird.
Hat einer ne Idee wie ich eine der beiden Varianten erreichen können?
Des weiteren gefällt mir an dem o. g. Makro nicht, dass der Pfad fest definiert ist. Kann man irgendwie auch als Pfad den aktuellen Pfad der .ods verwenden?
Bezüglich der Makro-Programmierung habe ich leider nur sehr geringe Kenntnisse. Ich hoffe ihr könnt mir helfen. Vielen Dank.
Gruß
Robert