Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#2 Re: Calc » Spolupráce mezi dvěma sešity - VYŘEŠENO » 3. 4. 2013 14:00:24

sedlacekdan napsal(a)
marekkoc napsal(a)

Jen mám ještě jednu věc a to, aby se dokument tab2 neotvíral, jde o to, že žádný úživatel nesmí vidět zapsané hodnoty do tab2.

Tak zde už si s nahráním makra nepomůžeme

sub uloz_do_skryteho
Dim arg(0) As New com.sun.star.beans.PropertyValue
arg(0).Name = "Hidden" ' otevřeme jako skrytý
arg(0).Value = True
adresa = convertToURL("ADRESA CÍLOVÉHO DOKUMENTU")
zdrojovy_dok = thisComponent
list_1 = zdrojovy_dok.sheets(0) ' první list zdrojového dokumentu
' lze upravit na
' list_1 = zdrojovy_dok.sheets().getByName("List1")
cilovy_dok = stardesktop.loadComponentFromUrl(adresa,"_blank",0,arg())
list_cile = cilovy_dok.sheets(0)
' projdeme všechny buňky oblasti A1:F10
for i = 0 to 5 ' řádky A - F - číslování začíná 0 (A=0, B=1...F=5) 
 for j = 0 to 9 ' sloupce 1 - 10 - číslování opět 0 (1=0......10=9)
  bunka_zdroj = list_1.getCellByPosition(i, j) ' buňka po buňce
  bunka_cil = list_cile.getCellByPosition(i, j)
  bunka_cil.value = bunka_zdroj.value + bunka_cil.value ' nasčítání a zápis hodnot
 next j
next i
' pro oblast D5:H15 změňte hodnoty i a j na i=3 to 7 a j=4 to 14
cilovy_dok.store()
cilovy_dok.close(True)'uložíme a zavřeme skrytý dokument
zdrojovy_dok.store()
zdrojovy_dok.dispose() ' uložíme a zavřeme zdroj
msgbox "Všechny změny byly provedeny ",0,"PŘENOS PROVEDEN "
end sub

Budete si muset upravit hodnoty i a j - čísla sloupců a řádků na Vámi požadované hodnoty. Při této variantě (6 sloupců a 10 řádků) trvá celá operace cca 1 sekundu. Čím více sloupců a řádků tím delší průběh makra (více buněk k procházení a více zápisů).


;o)

Prosím ještě o úpravu, aby se uplně nakonec data z tab1 vymazaly. Děkuju

#3 Re: Calc » Spolupráce mezi dvěma sešity - VYŘEŠENO » 3. 4. 2013 13:51:14

Klobouk dolů je to super. Sám bych si s tím nevěděl rady. A poslední troufalá žádost jak zajistit, aby tam mohl editovat člověk pouze jednou, kolega nahoře uvedel " Ten přístup lze zajistit, ale vstupní sešit musí být vybavený seznamem osob a popřípadě hesel. Na to by měl stačit 2x inputbox + sešit se zamykacím makrem. Teda nevím jak by to vypadalo, když by se to editovalo pomocí vzdáleného přístupu například dvěma učastníky naráz. Ale šlo by to asi bloknout a po odhlášení uvolnít přístup, nebo dát možnost vstupu dvěma stejnými vstupními sešity "New"" , ale bohužel moje  programátorské schopnosti jsou nulové. Děkuju. Pokud nikdo nebude vědět tak to považuju za vyřešené a všem moc děkuju. Marek

#4 Re: Calc » Spolupráce mezi dvěma sešity - VYŘEŠENO » 2. 4. 2013 14:20:04

Děkuju za pomoc. Už jsem to zkoušel a je to fajne. Jen mám ještě jednu věc a to, aby se dokument tab2 neotvíral, jde o to, že žádný úživatel nesmí vidět zapsané hodnoty do tab2. Děkuju.

#6 Re: Calc » Spolupráce mezi dvěma sešity - VYŘEŠENO » 29. 3. 2013 15:43:00

Přesně tak tab1 je jiný sešit než tab2, jsou to dva soubory. Dejme tomu, že jeden leží v adresáři New a druhý Old, ale jsou na stejném stroji. Ano můžou se tam přihlásit dva uživatelé. Děkuju za info

#7 Calc » Spolupráce mezi dvěma sešity - VYŘEŠENO » 29. 3. 2013 15:12:35

marekkoc
Odpovědí: 15

Ahoj, potřeboval bych poradit s následujícím. Mám naprosto dvě stejné tabulky např. tab1.ods a tab2.ods. Chtěl bych, aby se mi po zapsání čísla do tab1 zapsaly do tab2 a potom, když je vymažu z tab1, aby zůstaly v tab2 zachovány. Při dalším zápisu do tab1 by se čísla z tab1 přičetly k již existujícím číslům v tab2 a po smazání z tab1 by zůstaly opět v tab2 zachovány znovu to samé dokola.
Dále pak by se mi hodilo, kdyby na tomto mohlo pracovat takto více lidí a měli možnost zapsat čísla do tab1 pouze jednou, ale to už by byla jen třešnička na dortu.

Děkuju za pomoc . Marek

______________________________________________
Značím jako vyřešené

;o)

Zápatí

Používáme FluxBB