ich hätte da jetzt ein neues Problem:
Ich möchte aus vielen Dateien jeweils eine Seite kopieren und aus diesen Seiten ein neues Dokument erstellen. Ich habe das ja so weit zum Laufen bekommen, hätte jetzt aber gerne, dass auch die Formatierungen übernommen werden.
Bei meinem Versuch öffne ich zuerst das Zieldokument und von da aus per Makro nacheinander die Ursprungsdokumente, erzeuge jeweils ein neues Blatt ("neuesBlatt") und füge es mit "insertByName(NameX,neuesBlatt)" in das Zieldokument ein. Dann übertrage ich die Daten mit "getDataArray -> setDataArray". Jetzt habe ich aber halt immer nur die Daten aber meine schöne Foramtierung der Ursprungsseiten ist weg. Geht das auch anders?
Grüße
Pit
Code: Alles auswählen
sub einfuegen
DialogLibraries.LoadLibrary("Datenbank")
InDialog=createUnoDialog(DialogLibraries.Datenbank.InDialog)
InDialog.getControl("Dateiauswahl").text="Hier klicken um Datei einzufügen->"
InDialog.execute()
InDateiURL=InDialog.getControl("Dateiauswahl").text
if InDateiURL = "Hier klicken um Datei einzufügen->" then exit sub
n=InStr(InDateiURL, "Rechentrainer")
if n>0 then
URLLaenge=len(InDateiURL)
URL=ConvertToURL(InDateiURL)
InDoc=StarDesktop.loadComponentFromURL(URL, "_blank", 0, Arg())
nachname=InDoc.sheets.getByName("Daten").getCellByPosition(1,1).string
vorname=InDoc.sheets.getByName("Daten").getCellByPosition(2,1).string
endzeile=InDoc.sheets.getByName("Daten").getCellByPosition(0,2).string
sname=nachname & "_" & vorname
oDoc=ThisComponent
oTab=oDoc.getSheets(0)
oSheet=oDoc.createInstance("com.sun.star.sheet.Spreadsheet")
oTab.insertByName(sname,oSheet)
DatArray=InDoc.sheets.getByName("Übersicht").getCellRangeByPosition(0,0,13,endzeile).getDataArray
oDoc.sheets.getByName(sname).getCellRangeByPosition(0,0,13,endzeile).setDataArray(DatArray)
InDoc.close(true)
end if
end sub