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

#1 10. 7. 2016 10:14:34

vikinx
Člen
Registrace: 24. 1. 2015
Příspěvků: 36

CALC: Vypnutí klávesových zkratek v konkretnim souboru (VYŘEŠENO)

Opet a zase resim problem, na ktery jsem narazil.


Chtel bych se zeptat, jestli nekdo nevite, jak v konkretnim sitovem souboru (*.ods) vypnout vybrane klavesove zkratky.
V Libreofficech, prip. jen v Calcu je vypnout dokazi, ale ne jen v konkretnim souboru. Jde mi o to, aby v konkretnim souboru nesla vyvolat nabidka tisku (CTRL+P atd.), posouvani mezi listy atd... Nemohu prenastavovat zkratky na vsech pocitacich, v ostatnich souborech by tim padem take nefungovalo.


Mate nekdo nejaky napad jak toto vyresit? Netusim, jestli jdou vubec nejak spravovat klavesove zkratky makrem...


Diky predem za Vase napady ;-)

Editoval vikinx (4. 10. 2016 16:45:21)

Offline

#2 10. 7. 2016 11:30:43

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

Re: CALC: Vypnutí klávesových zkratek v konkretnim souboru (VYŘEŠENO)

Makrem by takové řešení jít mělo. Dají se přenastavit všechny klávesové zkratky mimo ENTER a ESC. Nejsem ale doma. Takže pokud to někdo nepostne dříve udělám to až asi v úterý (bez záruky - nevím jistě kdy se dostanu domů).
     Myslím že je to ovlivnění události KeyPressed konkrétních kláves. Nevím jistě jestli to lze nastavit u dvoj(troj) kliku tak aby byl ovlivněn jen například svázaný Ctrl+C [a u Ctrl samostatně, stejně u samostatné C] aby zůstala zachována funkčnost.... Vím že jednotlivé klávesy mimo uvedených všechny lze ovlivnit.


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

#3 10. 7. 2016 11:43:09

vikinx
Člen
Registrace: 24. 1. 2015
Příspěvků: 36

Re: CALC: Vypnutí klávesových zkratek v konkretnim souboru (VYŘEŠENO)

Tak super, aspon vim, ze to jde...

Offline

#4 14. 7. 2016 17:51:13

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

Re: CALC: Vypnutí klávesových zkratek v konkretnim souboru (VYŘEŠENO)

Omlouvám se domůjsem se sice dostal, ale hned jsem musel zpátky takže reaguji až dnes.
Vyřazení kláves pro tisk
     Takže vzor ukazuje bloknutí tisku, ale nevím co myslíte například jako další cituji : posouvani mezi listy atd.


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

#5 15. 7. 2016 08:20:41

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 842

Re: CALC: Vypnutí klávesových zkratek v konkretnim souboru (VYŘEŠENO)

Dotaz je dost obecný. Nechápu, co doopravdy chcete. Klávesy jsou jen částí interfacu, je tu ještě minimálně menu a myš... Samotný zákaz zkratek toho až tak moc neřeší, akorát znepříjemní práci. Ale i to může být cílem.

Offline

#6 15. 7. 2016 23:30:37

vikinx
Člen
Registrace: 24. 1. 2015
Příspěvků: 36

Re: CALC: Vypnutí klávesových zkratek v konkretnim souboru (VYŘEŠENO)

OK, tisk to blokuje... Ale jakmile v sesitu zmacknu jinou klavesu, treba i pro vlozeni textu, LO spadnou :-/ "type coercion failed: TYPE is not supported"


2 lp.: obecne je to definovane schvalne, jde mi o to nektere preddefinovane zkratky zakazat. Napr. u tisku definovane oblasti sesitu az po vlozeni urcitych dat a jejich kontrole.

A jeste par dalsich klavesovych zkratek. Proto ten obecny dotaz ;-)

Editoval vikinx (15. 7. 2016 23:34:13)

Offline

#7 19. 7. 2016 09:58:10

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

Re: CALC: Vypnutí klávesových zkratek v konkretnim souboru (VYŘEŠENO)

Máte pravdu nezkopíroval jsem vše - práce kvapná... Tohle by Vám už mohlo napovědět lépe : Vyřazení kláves


     Já to mám udělané tak že část - konkrétně od 3. makra je v jiné knihovně. Ta je zamčená a dá se funkce spustit heslem. Takže Například admin povolí několika lidem editaci, zadá jejich hesla čímž mohou vstoupit nejen do tisku ap. a ti mohou upravovat podle své role to - nebo ono..
     No a já jsem si to při kopírování nevybavil - protože u mne to chodilo normálně. Soubor s extrahovaným kódem jsem už pak netestoval - moje chyba - ještě jednou se omlouvám.


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

#8 22. 7. 2016 20:04:22

vikinx
Člen
Registrace: 24. 1. 2015
Příspěvků: 36

Re: CALC: Vypnutí klávesových zkratek v konkretnim souboru (VYŘEŠENO)

Tak tentokrat LO nepadaji, ale po stisku zakazane zkratky jiz nejde nic v dokumentu zapsat :-/

Offline

#9 27. 7. 2016 11:07:11

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

Re: CALC: Vypnutí klávesových zkratek v konkretnim souboru (VYŘEŠENO)

Tak jsem na to asi přišel ale dalo mi to dost práce : VyřazeníKláves_1
     Problém měl zhruba dva hlavní problémy. Jednalo se to aby se při zakázaných klávesových zkratkách dalo obecně editovat. Původně totiž vybavený blok bral také všechny ostatní klávesové zkratky s prefixem Ctrl a možná také Alt (to jsem netestoval). To se projevilo tak, že po druhé aktivaci Ctrl+něco se informační dialog (MsgBox) také opakoval 2x. Po desátém opakování se 10x opakoval a nešlo to běžným způsobem odstarnit. Tento problém je asi specifický jen pro MOD2 (Ctrl), protože s MOD1 (Alt) jsem to nezaznamenal (netestoval stejným způsobem).
     Ten druhý problém byl v tom, že se musí stav po blokaci vrátit do výchozího stavu. Původně se dalo psát jenom před aktivací bloku. Potom už jak píšete v #8 (z 22. 7. 2016) nefungovala klávesnice vůbec.


     Kolem tohoto problému je dost příspěvků na cizích fórech a tam nabízeli obejít to pomocí UNO které načte Python, nebo Java script. Já mám maker podobného typu víc, ale nechal jsem si jen typické příklady a to co jsem postnul původně mělo jiný základ - obsahoval totiž právě manipulace s MOD2. Ostatní obsahovaly jiné módy.
     Dopracoval jsem se ale jen k tomu, že jsem byl schopen 1x blokovat tak že se dalo editovat před i po blokaci. Při dalším zavolání už se hlášky nenačítaly, ale po druhém stisknutí Ctrl+P vyskočil dialog pro tisk. Opakované aktivace KeyKodu nepomáhaly a tak jsem začal lovit na netu. Tam jsem se ale moc nedopracoval, protože uvedené postupy přes UNO jsem nerozchodil.


     Už jsem toho měl dost a začal hledat řešení pro uzamčení buněk (viz FORMÁT > BUŇKA > ZABEZPEČENÍ lze nastavit zákaz tisku vybraných buněk), respektive povolit zápis v dokumentu jen pro čtení (to jsem někde viděl, ale nevím v jaké souvislosti), nebo jsem chtěl spouštět jiná makra stejným testem. Tak jsem si začal hrát s přenastavením klávesových zkratek. Testoval jsem přenastavení Ctrl+P na jinou úlohu. To je dáno ze systému LibreOffice (asi také AOO), ale Calc tam nic neměl. To chodilo dobře, ale jen na stroji kde to bylo nastaveno. Za nastavení celého LO (AOO) bez Ctrl+P bych asi sklidil řádnou kritiku.
      Jakmile jsem to vrátil do původného stavu stal se zázrak ...Klávesová zkratka Ctrl+P se nastavila i v Calcu a najednou to chodilo tak jak má. Takže :


      Aby makro chodilo správně musí se nastavit pro tisk Ctrl+P i v Calcu - shodně s LO, AOO. Vzpomínám si, že když jsem si to makro ukládal, měl jsem ho otestované a bylo OK. To je i dnes, ale stahujeme LO (možná i AOO) s různě nastavenými klávesovými zkratkami pro jednotlivé aplikace. původně to asi shodné bylo :-)
      Jak jsem pochopil dnes má LO i AOO jiné (různé) algoritmy pro XKey a tohle by asi vneslo dost světla na mnoho Bugů. Nemám čas to testovat a tak se obracím na uživatele aby to vyzkoušeli na různých systémech a popřípadě nahlásili.

Editoval neutr (27. 7. 2016 11:15:38)


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

#10 29. 7. 2016 19:37:20

vikinx
Člen
Registrace: 24. 1. 2015
Příspěvků: 36

Re: CALC: Vypnutí klávesových zkratek v konkretnim souboru (VYŘEŠENO)

Tohle uz urcite funguje lepe... Na otevreni dokumentu mam navazana ruzna makra, ktera se pri reloadu samozrejme take spusti (coz v tomto pripade nechci).
A bez tohoto reloadu nejde dale pokracovat v editaci.


Diky moc za cas straveny nad timto problemem! Treba se nekdo jeste prida ;-)

Offline

#11 29. 7. 2016 22:05:35

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

Re: CALC: Vypnutí klávesových zkratek v konkretnim souboru (VYŘEŠENO)

To mne ani ve snu nenapadlo. Možnost tady je, protože spouštěná makra lze většinou přesunout na jinou událost. Je to ale jenom jedna možnost. Dále je tam také ukládání dokumentu které bývá také často využívané ke spuštění něčeho - například k přejmenová, verzování ap. Proto možná existuje řešení ale takhle z voleye to nedomyslím.
     Já jsem už netestoval možnost vyřazení toho obnovení. Řešilo to právě ten problém možnosti psaní po aktivaci bloku. Je ale také pravděpodobné, že to poběží i bez reloadu. Takže také je možné, že nyní lze najít ještě zcela jiný postup.


     Nejspíš byste měl popsat na jaké události navazujete makra, která kolidují s blokem tisku. Pokud můžete postněte sem vzor.


     Já si myslím, že podobně potřebujete odstavit také systémový tisk z nabídky Soubor který blokem zkratky zablokovaný není! Já to zatím netestoval pro všechny možnosti, ale ten kdo by chtěl blok obejít, přiřadí například jinou klávesovou zkratku, nebo najde paralelní spuštění nesystémovým makrem.
     Dále se to dá obejít screenem obrazovky a následně přežvýkání pomocí OCR. Tím chci říct, že zablokovat tisk tak aby se to tisknout nedalo není vůbec nic jednoduchého. Já jsem některé podobné techniky hledal a našel. Je to ale pár let.
     Při tom je řešením pro většinu možností zamknout dokument proti tisku a editaci umožnit do jiného listu. To se při editaci nastaví pod upraveným názvem a je to stejné jako editace 2. uživatele Writeru - OFF line sdílení podobně jako na cloudech atd. Podobně jsou řešena makra v systému LO, AOO. V IDE se zobrazuje kopie kterou můžete kopírovat, ale nemůžete ji přepisovat.
     

     Ale absolutní blok tisku při přímém zobrazování prakticky nelze vytvořit. Jak už jsem uváděl extrém je až na úrovni zablokování screenu obrazovky. Takže proti IT lumpovi šancí moc není. Já to sice umím, ale je to know-how které hodlám brzo použít. Nyní už jsem v přípravné fázi zveřejnění odstavcové šifry která bude v přísně tajném režinu dešifrována do jediného řádku jako pohyblivý text. Zde bude právě použit blok screenu. Přestože základní princip šifrování bude zcela Free, tak vychytávky pro organizace zveřejňovat nehodlám.


     Můžu se ještě mrknout jestli se situace nezměnila při přestavení klávesové zkratky v Calcu, ale mám čas zase jen do neděle. Sám mám práce nad hlavu, takže když mi vyjde chvíle.


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

#12 5. 8. 2016 16:55:28

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

Re: CALC: Vypnutí klávesových zkratek v konkretnim souboru (VYŘEŠENO)

Tak jsem si udělal dnes čas na hříchy. Vyřadit Refresh nejde, ale jde udělat něco jiného. Musíte upravit ta navázaná makra a vložit jim podmínku na startu. Princip je v tom, že stačí jen jediná proměnná typu global (př: Log) - nejlépe deklarovanou jako Boolean, která bude detekovat zda jde stav kdy je vybavena podmínka - například Log = True. V takovém případě se nespustí, protože originálně je Log postaven na false. Log se bude aktivivat funkcí MyApp_KeyPressed(oEvt). Takže po prvním spuštění pokusu o tisk se aktivuje Log na true a makra se při refreshi neaktivují.


     Podmínka na začátku každého makra by mohla vypadt takto :
Na začátku Modulu Basic
Global Log as Boolean
......
.....
Sub StartujuPriSpusteníAplikace_1.
IF Log = true Then
GoTo Endes1
End If
......................
obsah makra
Endes1:
End Sub
---------------------------------------------------
Sub StartujuPriSpusteníAplikace_2.
IF Log = true Then
GoTo Endes2
End If
......................
obsah makra
Endes2:
End Sub
---------------------------------------------------
     A tak dál. Návěští (Endes nebo jiný název) uvnitř stejného listu nesmí mít stejné pojmenování. Pokud by s tím byly problémy půjde o makra z jiných knihoven. To se dá řešit proměnnýmy typu Public. Ale mít do jednoho sešitu namontována makra z různých knihoven je nesmysl. Mezi moduly stejné knihovny proměnná Global drží do vypnutí sešitu.
     Pokud by toto nefungovalo tak to bude mít nějaký podobný důvod jako makra z různých knihoven. Je možné například přidat samostatné makro ke startu tak aby se chovalo jako pivot pro ostatní makra a podobné vychytávky.


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

Zápatí