Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem LibreOffice ActiveCell

Dobrý den. Včera sem zkoušel nějakou práci v LibreOfficu, a potřeboval sem udělat tlačítko které do Aktivní buňky(Buňka kterou máte vybranou) zapíše titulek z tlačítka. Vím že v Excelu stačilo jen ActiveCell = bunka.Caption, ale v LibreOfficu to tak nejde. Ví někde prosím jak je to makro správně? Díky moc.

Předmět Autor Datum
Neviem, či to v LibreOffice ide, ale ani v Exceli to nie je tak, ako píšeš. V Exceli to má byť : Act…
robert13 26.05.2017 10:10
robert13
Špatně sem to uvedl, má to být přesně tak jak píšeš, ale takhle to v Libre nejde :(
Kijold 26.05.2017 10:12
Kijold
Neviem nakoľko je LibreOffice kompaktibilné s VBA. Má LibreOffice záznamník makier? Dá sa v LibreOff…
robert13 26.05.2017 10:20
robert13
Predošlý príkaz je potrebné zapísať do udalostnej procedúry v module hárka, v ktorom sa nachádza tla…
robert13 26.05.2017 10:15
robert13
Takhle sem to právě psal do libre poprvé, a vyskočila mi chyba že není deklarovaná proměnná
kijold 26.05.2017 10:26
kijold
Medzitým som odskúšal použitie iného ovládacieho prvku (nie ActiveX ale ovládací prvok formulára) V…
robert13 26.05.2017 10:34
robert13
Nie je deklarovaná premenná?!? Aká? To znamená, že označenie ActiveCell považuje za premennú. A to z…
robert13 26.05.2017 10:43
robert13
U toho kódu vyskočí chyba, že u ActiveSheet není proměnná objektu nastavena
kijold 26.05.2017 10:56
kijold
Asi se tedy v Libre Office k aktivní buňce přistupuje jinak - jak, to netuším, používám jen MS Excel…
Machr55 26.05.2017 11:37
Machr55
Nahraj si v LibreOffice primitívne makro: napr uloženie čísla 5 do bunky B1: V Exceli: Sub Makro1(… poslední
robert13 26.05.2017 11:52
robert13

Medzitým som odskúšal použitie iného ovládacieho prvku (nie ActiveX ale ovládací prvok formulára)
V takomto prípade sa kód píše do štandardného modulu makier a ovládaciemu tlačidlu sa pridelí spúšťanie makra PrepisPopisku

Sub PrepisPopisku()
    ActiveSheet.Shapes.Range(Array("Button 2")).Select
    ActiveCell = Selection.Characters.Text
    ActiveCell.Select
End Sub

Pričom názov prvku (tu Button 2 si musíš zistiť napr. nahratím makra, kde nič iné nespravíš, len označíš prvok, t.j. stlačíš CTRL + klik na tlačidlo). Makro zastavíš a pozrieš, akým spôsobom zapísal označenie prvku...

V prípade takéhoto prvku (nedá sa prideliť názov ani popisok) sa musí prejsť cez jeho označenie (selection), čím umožníš zistiť text v tlačidle a na záver, aby si označenie prvku zrušil, musíš označiť niečo iné, napr. zopakuješ výber aktívnej bunky.

Skús

Nie je deklarovaná premenná?!? Aká?
To znamená, že označenie ActiveCell považuje za premennú.
A to znamená, že aktívnu bunku LibreOffice nazýva inak. Musíš už len zistiť, že ako...

Skús napr: ActiveCell = 5

Zapíše do aktívnej? Ak nie a dá rovnakú chybovú hlášku, potvrdzuje to predošlú úvahu.

Asi se tedy v Libre Office k aktivní buňce přistupuje jinak - jak, to netuším, používám jen MS Excel. Takže doporučuji Ti použít "zlaté programátorské pravidlo" - když selžou všechny pokusy, podívej se do nápovědy.

Nahraj si v LibreOffice primitívne makro: napr uloženie čísla 5 do bunky B1:

V Exceli:

Sub Makro1()

    Range("B1").Select
    ActiveCell.FormulaR1C1 = "5"
   
End Sub

Pozri si, ako to v LibreOffice záznamník makier zapíše a aplikuj to na svoj prípad.

Ak ani to nejde, tak potom ako píše Machr55 vyššie: nápoveda alebo literatúra...

Zpět do poradny Odpovědět na původní otázku Nahoru