Otestujte následující kód :
Sub VlozitZexterniho
'Pouze LibreOffice, pro OpenOffice použití: Copy sheet to document.
'Vložit všechny listy ze zdrojového dokumentu do cílového dokumentu.
util = createUnoService("org.universolibre.EasyDev")
source = createUnoStruct("org.universolibre.EasyDev.CellRangeAddress")
target = createUnoStruct("org.universolibre.EasyDev.CellRangeAddress")
doc = ThisComponent
source.Doc = doc
new_doc = util.newDoc("")
target.Doc = new_doc
util.sheetInsertFromDoc(source, target, -1, False)
End Sub
Já jsem to ani nezkoušel, protože používám vlastní postupy. Tohle je ale poměrně snadné, pokud potřebujete tahat z externího sešitu do uno nahrávek. Ještě lepší by to asi bylo jako funkce která plní proměnnou. Tohle je ucelený kód i když vkládá list z volaného sešitu. To stačí pro nahrávku makra záznamníkem.
Zavoláte vložení listu z externího a potom už je vše jen v rámci stejného (původního) sešitu, kde se dá použít nahrávání a potom list klidně smažte. Pokud je to vždy stejné místo a názvy (tak jak je to u Vás často), Tak na to ani nemusíte sahat a hned zůstane pouze výsledek.
Doufám, že to nedopadne jako posledně, kdy jste testoval a ani nečetl, co jsem k tomu připsal. PS ... jinak byste na to přišel asi hned a nedivil se proč nemáte žádný obsah (když jste nevybíral úsek) když jste měl kurzor v prázdné buňce a podobně ty proměnné SC, SR, EC, ER u kterých je přiřazení například "SC = .startColumn" a podobně. Ani byste se potom nedivil proč nejdou hodnoty "hezky za sebou".
Tohle už není přímo okamžitá potřeba specifikovaného problému, ale učení se - práce s makry. Tady už musíte najít sám souvislosti a ne se nejdřív bezhlavě pouštět do testování a pak se divit. Postup musí být opačný zanyslet se co kód reprezentuje a následně testovat zda je to pravda.
PS
Radeji hned napovím jak makro upravit :
new_doc = util.newDoc("") sem patří do závorek adresa URL.
util.sheetInsertFromDoc(source, target, -1, False) sem místo -1 vložta číslo které zjistíte na libovolném místě v sešitě pomocí =SHEET(A1) kde může být libovolná buňka z listu ve kterém stojíte. List se vloží ma pozici, kterou má právě list ve kterém stojíte (váš list se posune). Pokud tam přidáte číslo o jednu větší, postaví se vložený list za ten ve kterém stojíte.
Když tam ponecháte -1 bude na první pozici a to se také dobře hodí, ale ne když máte tolik listů, že na první list nevidíte, což by Vám při nahrávání trochu vadilo.
Přeji úspěch
Editoval neutr (27. 8. 2022 09:32:58)
Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ