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

#1 19. 12. 2012 10:58:08

Petoc
Člen
Registrace: 19. 12. 2012
Příspěvků: 3

Skrátenie makra - VYŘEŠENO

Viete mi pomocť ako toto skrátiť?
(toto makro som tu nasiel a upravil pre moje pouzitie, ale velkosť sa mi moc nepáči)
Ďakujem

sub kopiruj_oblast
doc = thisComponent
listy = doc.sheets()
zdroj_list = listy.getByName("list1") 
ciel_list = listy.getByName("list2") 
poradie = zdroj_list.getCellRangeByName("G2").string
zdroj_1 = zdroj_list.getCellRangeByName("B1").value 
zdroj_2 = zdroj_list.getCellRangeByName("B2").value
zdroj_3 = zdroj_list.getCellRangeByName("B3").value
zdroj_4 = zdroj_list.getCellRangeByName("B4").value
zdroj_5 = zdroj_list.getCellRangeByName("B5").value
zdroj_6 = zdroj_list.getCellRangeByName("B6").value
zdroj_7 = zdroj_list.getCellRangeByName("B7").value
zdroj_8 = zdroj_list.getCellRangeByName("B8").value
zdroj_9 = zdroj_list.getCellRangeByName("B9").value
zdroj_10 = zdroj_list.getCellRangeByName("B10").value
zdroj_11 = zdroj_list.getCellRangeByName("B11").value
zdroj_12 = zdroj_list.getCellRangeByName("B12").value
zdroj_13 = zdroj_list.getCellRangeByName("B13").value
zdroj_14 = zdroj_list.getCellRangeByName("B14").value
zdroj_15 = zdroj_list.getCellRangeByName("B15").value
zdroj_16 = zdroj_list.getCellRangeByName("B16").value


for i = 0 to 34'                                                            
 hladaj_poradie = ciel_list.getCellByPosition(i, 1).string ' 
 if hladaj_poradie = poradie then '                            
  exit for
 endif
next i


suma1 = ciel_list.getCellByPosition(i,2)
suma1.value=zdroj_1
suma2 = ciel_list.getCellByPosition(i,3)
suma2.value=zdroj_2
suma3 = ciel_list.getCellByPosition(i,4)
suma3.value=zdroj_3
suma4 = ciel_list.getCellByPosition(i,5)
suma4.value=zdroj_4
suma5 = ciel_list.getCellByPosition(i,6)
suma5.value=zdroj_5
suma6 = ciel_list.getCellByPosition(i,7)
suma6.value=zdroj_6
suma7 = ciel_list.getCellByPosition(i,8)
suma7.value=zdroj_7
suma8 = ciel_list.getCellByPosition(i,9)
suma8.value=zdroj_8
suma9 = ciel_list.getCellByPosition(i,10)
suma9.value=zdroj_9
suma10 = ciel_list.getCellByPosition(i,11)
suma10.value=zdroj_10
suma11 = ciel_list.getCellByPosition(i,12)
suma11.value=zdroj_11
suma12 = ciel_list.getCellByPosition(i,13)
suma12.value=zdroj_12
suma13 = ciel_list.getCellByPosition(i,14)
suma13.value=zdroj_13
suma14 = ciel_list.getCellByPosition(i,15)
suma14.value=zdroj_14
suma15 = ciel_list.getCellByPosition(i,16)
suma15.value=zdroj_15
suma16 = ciel_list.getCellByPosition(i,17)
suma16=value=zdroj_16

end sub

Editoval Petoc (19. 12. 2012 12:09:06)

Offline

#2 19. 12. 2012 11:57:44

sedlacekdan
Moderátor
Místo Nehvizdy
Registrace: 21. 6. 2010
Příspěvků: 617

Re: Skrátenie makra - VYŘEŠENO

Vítejte na fóru,

můžete použít metodu getDataArray a setDataArray, která funguje v souvislých oblastech:

sub kopiruj_oblast
doc = thisComponent
listy = doc.sheets()
zdroj_list = listy.getByName("list1")
ciel_list = listy.getByName("list2")
poradie = zdroj_list.getCellRangeByName("G2").string
zdroj_1 = zdroj_list.getCellRangeByPosition(1,0,1,15)' oblast B1:B16
for i = 0 to 34
hladaj_poradie = ciel_list.getCellByPosition(i,1).string
if hladaj_poradie = poradie then '                           
  exit for
endif
next i
ciel_bunka = ciel_list.getCellRangeByPosition(i,2,i,17)
ciel_bunka.setDataArray(zdroj_1.getDataArray)
end sub

;o)


Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 19. 12. 2012 12:02:48

Petoc
Člen
Registrace: 19. 12. 2012
Příspěvků: 3

Re: Skrátenie makra - VYŘEŠENO

Ďakujem,
otestované - funguje to krásne.

Ešte raz ďakujem za ochotu.

Editoval Petoc (19. 12. 2012 12:52:10)

Offline

#4 19. 12. 2012 12:53:20

Petoc
Člen
Registrace: 19. 12. 2012
Příspěvků: 3

Re: Skrátenie makra - VYŘEŠENO

PS: Kde by som našiel zoznam (možno aj s pokecom) týchto metód?
S makrami som sa začal hrať len pred pár týždňami(nikdy som neprogramoval)
a ako samouk by som sa chcel čo to viac naučiť.
Google a články pomôžu hodne, ale nie vždy všetko nájdem.

Offline

#5 19. 12. 2012 13:28:34

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: Skrátenie makra - VYŘEŠENO

Najděte si zde na fóru seriál od Dana Sedláčka. Potom také od Pana ing Pastierika. Nejlepší je ale asi něco sám zkoušet a podle již dříve řešených probémů. Hledejte proto zde záložka "hledat". Zadejte například heslo "makro" a vybírejte jen ta "VYŘEŠENÁ".


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É

Offline

#6 19. 12. 2012 20:26:51

sedlacekdan
Moderátor
Místo Nehvizdy
Registrace: 21. 6. 2010
Příspěvků: 617

Re: Skrátenie makra - VYŘEŠENO

Malá Makra v OpenOffice.org


V prvním díle jsou dole odkazy, které jsou velmi užitečné.


;o)


Linux Mint 16 Petra - Apache OpenOffice 4.0.1
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí