No vidím že ste "vykuchal" AndrewMacro.
Nemám kompletné riešenie, len čiastočné možno to niekto dotiahne, kým sa k tomu opäť dostanem (lebo už zaspávam) 
sub uloz_listy
uloz_listy_do_jedneho_zositu("/home/miro/dokumenty/test.ods")'tu zmeň cestu k tvojmu novému zošitu do ktorého sa skopírujú listy
end sub
sub uloz_listy_do_jedneho_zositu(optional cesta as string)
dim oDoc, eDocs,oSheet,oNovy_list ,oDoc_novy,oZosit as object, i,list as integer, sURL,sCesta,nazov as string
list=0
sURL = "private:factory/scalc"
set oDoc_novy = StarDesktop.loadComponentFromURL(sURL, " ", 0, Array())'vytvor novy zosit
uloz_ako(cesta)
set eDocs = StarDesktop.Components.CreateEnumeration' vytvor kolekciu otvorenych dokumentov
on error goto DALSI
do while eDocs.hasMoreElements ' prejdi kolekciu dokumentov
set oDoc = eDocs.NextElement
if oDoc.ImplementationName="ScModelObj" then ' pokiaľ je to zošit
if (ConvertFromURL(oDoc.URL))=cesta then ' a tento zošit to nemôže byť, lebo do toho kopírujeme
else 'nie je to zošit do ktorého sa kopíruje
msgbox oDoc.URL 'cesta niektorého otvoreného zošitu za týmto vložiť podmienku pokiaľ by bol otvorený zošit ešte neuložený zobrazí cestu prázdnu
oDoc.CurrentController.Frame.activate
nastav_subor(oDoc.CurrentController.Frame.Title)
current= oDoc.CurrentController.Frame.Title
'tak a teraz prejdi listy
with ThisComponent.Sheets
for i = 0 to .Count -1
set oSheet = .GetByIndex(i)
meno=oSheet.Name
print meno
vyber(meno)
'zkopiruj
'gosub vloz_do_testu
next i
end with
end if
end if
DALSI:
loop
uloz_zosit("/home/miro/dokumenty/test.ods")
exit sub
vloz_do_testu:
ovladanie.nastav_subor("test")
vyberlb(list,"A1")
vloz
list=list+1
ovladanie.nastav_subor(current)
return
end sub
sub zkopiruj
dim oDoc,oDisp as object
oDoc= ThisComponent.CurrentController.Frame
oDisp=createUnoService("com.sun.star.frame.DispatchHelper")
oDisp.executeDispatch(oDoc, ".uno:Copy", "", 0, Array())'zkopírovanie dát do schránky
'msgbox("zkopírované",0,"Oznam")
end sub
sub vyber(optional list as string)
dim oSheet,oCell as object, bunka as string
oSheet= ThisComponent.Sheets.getByname(list)
oCell = oSheet.getCellRangeByName("A1:AMJ65536")
ThisComponent.getCurrentController.select(oCell)
end sub
sub vyberlb(optional list as string,optional bunka as string)
dim oSheet,oCell as object
oSheet= ThisComponent.Sheets.getByIndex(list)
oCell = oSheet.getCellRangeByName(bunka)
ThisComponent.getCurrentController.select(oCell)
end sub
sub vloz 'číslo,formát,text,dátum
dim dispatcher,document as object
dim vloz(5) as new com.sun.star.beans.PropertyValue
vloz(0).Name = "Flags"
vloz(0).Value = "SVDT"
vloz(1).Name = "FormulaCommand"
vloz(1).Value = 0
vloz(2).Name = "SkipEmptyCells"
vloz(2).Value = false
vloz(3).Name = "Transpose"
vloz(3).Value = false
vloz(4).Name = "AsLink"
vloz(4).Value = false
vloz(5).Name = "MoveMode"
vloz(5).Value = 4
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
set document= ThisComponent.CurrentController.Frame
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, vloz())'vloženie dát ako čísiel zo schránky
'msgbox("vložené",0,"Oznam")
end sub
sub nastav_subor(optional nazov as string)'nastaví hladaný otvorený zošit
dim oDesk, oFrames, oFrame,oDoc,oActivny as object, sURL,nazov1 as string,i as integer
set oDesk = StarDesktop
set oFrames = oDesk.Frames
for i=0 to oFrames.Count - 1
set oFrame = oFrames.getByIndex(i)
nazov1=oFrame.Title
if nazov1=nazov then
oFrame.activate
oActivny=oFrame.ComponentWindow
oActivny.setFocus
' msgbox "pravda"
else
' msgbox "nepravda"
' msgbox oFrame.Title
end if
next i
end sub
sub uloz_zosit(optional cesta as string)
dim oDoc, eDocs as object
set eDocs = StarDesktop.Components.CreateEnumeration' vytvor kolekciu otvorenych dokumentov
on error goto DALSI
do while eDocs.hasMoreElements ' prejdi kolekciu dokumentov
set oDoc = eDocs.NextElement
if oDoc.ImplementationName="ScModelObj" then ' pokiaľ je to zošit
if(ConvertFromURL(oDoc.URL))=cesta then ' a je to hladany zošit
oDoc.Store() ' tak ho uloz
oDoc.Close(true) ' a zavri
exit sub ' končíme
end if
end if
DALSI:
loop
end sub
sub uloz_ako (optional cesta as string)'ak dokument zmením ale chcem ho uložiť pod iným menom
dim oDoc as object
on error goto chyba
oDoc=ThisComponent
with oDoc
.storeAsURL(ConvertToURL(cesta), Array()) ' ulozit ako
end with
exit sub
chyba:
msgbox("chyba!!!",0,"Chyba uloz_ako")
stop
end sub
Snáď vám to pomôže makro mi však zastane pri druhom zošite na prvom liste - treba sa s tým pohrať.
Makro najskôr otvorí nový zošit, potom ho uloží ako test.ods. Ďalej začne prechádzať otvorené zošity a pri prvom nájdenom začne prechádzať jeho listy a kopírovať ich pomocou schránky do listov v zošite Test.ods. (tu je potrebné dorobiť vloženie ďalších listov do tohoto súboru - toľko koľko bude potrebné na kopírovanie, takže ak sa skopírovalo na posledný list vložiť ďalší čistý).Ďalej je potrebné doladiť makro, resp nájsť chybu prečo zostane na druhom zošite.
Na koniec makro uloží dokument Test.ods.
No snáď to pomôže, ak budem mať viac času tak sa stým ešte pohrám.:)