Vydržte ještě - já momentálně nemohu používat svoje knihovny, kde mám vzorová a testovací makra. Musel jsem je dočasně odstranit, abych zabránil nechtěné duplicitě maker. Ta šablona co dělám potřebuje například testy jestli makro které volám existuje, nebo typicky vzor "uloz_do_skryteho" mám definovaný obecněji jako vzor s možnostmi a když ho zavolám tak dochází k zavolání toho nesprávného. Zase když bych je všechny přejmenoval, tak se v tom budu špatně orientovat ap.
Včera jsem ještě před smazáním svých maker na chvíli koukal na kódy které uvádíte. Podle mne ani jeden z nich nemohl nikdy chodit správně. Je velká chyba v podmínce :
if
not .hasLocation) or .isReadOnly then'
.storeAsURL(ConvertToURL(cesta), Array()) ' ulozit jako
else
Podívejte se v sešitě jak takový dotaz dopadne (i když je to jiné IF)
=IF(False or False;"ANO";"NE")
=IF(0 or 0;"ANO";"NE")
=IF(1 or 1;"ANO";"NE")
=IF(1 or 0;"ANO";"NE")
fungovalo by to pod jinými podmínkami
=TRUE()
=FALSE()
Správně se tam musí doplnit :
if
not .hasLocation)= FALSE or .isReadOnly =FALSE then'
.storeAsURL(ConvertToURL(cesta), Array()) ' ulozit jako
else
Ale ono je toho zřejmě víc. Pro CSERT-a : Mám dojem, že jste svou šablonu nespouštěl ze šablon. Když soubor ".ots" spouštíte z jiného, nežli z adresáře šablon, tak vám nemusí fungovat jako šablona. Když opravdu jako šablona funguje, tak otevírá jen například "Bez názvu (číslo)".
Když se takto otevře, tak se kopie "Bez názvu X" chová naprosto jinak, nežli když se otevře šablona k editaci. Když budete šablonu otevírat z nabídky "Poslední soubory" - budete šablonu editovat. Když ji ale otevřete z adresáře (například ikona "otevřít"), nebo obecně otevřít složku,
tak se otevře jako Bez názvu(X).
Je to logické až teprve když se podíváte do správce šablon. "SOUBOR" > "NOVÝ" > ŠABLONY. Dialog Vám nabídne možnost importovat, nebo pokud tam nějaké jsou tak také vybrat. Když kliknete na existující šablonu, dostanete několik možností : editovat, otevřít, nebo také NASTAVIT JAKO VÝCHOZÍ a další možnosti. Pak je teprve zřejmé, že se šablony dají otevírat dvěma způsoby. Když tedy otevřete šablonu k editaci, tak byste měl upravovat její obsah a vlastnosti. Pokud však ji chcete použít k vygenerování kopie (logicky nového sešitu - vždyť ho můžete nastavit jako výchozí a všechny Calcy budou kopií šablony), tak se otevře "Bez názvu X". A ten se chová maličko jinak nežli byste čekal.
V každém případě když budete mít Vaši šablonu nastavenou jako výchozí (třeba jen na krátkou chvíli), tak místo zpětného volání stačí "otevřít nový" - třeba ikonou z calcu. Je to sice o 1 kliknutí více (uložit + nový sešit), ale o problematické makro méně.
Když vystačíte jen s programovou nabídkou místo tlačítka, tak nemusíte ani nic mazat. prostě místo tlačítka dáte příkaz někam viditelně, nebo naopak skrytě do hlavní nabídky, ato nehovořím o tom, že makro můžete spouštět klávesovou zkratkou - žádný ovládací prvek nepotřebujete.
Myslím si, že můžete na koncepci svého makra klidně zapomenout. Představte si maličkost :
1. Sešit ve kterém pracujete uložíte pod jiným jménem (ale jste v něm). Jak makro může zavolat otevření svého otevřeného sešitu? - Aby se mohl sám zavřít?
2. Když už něco otevře, myslíte že chod makra může do tohoto sešitu přehodit a sebe sama vypnout? jen pro představu jak asi chcete aby vypadala koncepce :
----------------------------------------------------------------------------
Zdrojové makro (knihovna Moje Standard)
↓
→ odbočka → Start Makro_1
běh makra (načíst nový název jako proměnnou Zdrojovému makru)
← návrat ← End Makro_1
↓
nějaký kód zdrojového makra
↓
→ odbočka → Start Makro_2
běh makra (uložit sešit XYZ pod novým názvem, uložit a zavřít)
← návrat ← End Makro_2
↓
nějaký kód zdrojového makra
↓
→ odbočka → Start Makro_1
běh makra (načíst nový název jako proměnnou Zdrojovému makru)
← návrat ← End Makro_1
↓
nějaký kód zdrojového makra (opakování)
↓
konec Zdrojové makro
----------------------------------------------------------------------------
To je "snad" životachopná koncepce, ale asi ne moc podobná koncepcím uváděným výše. Nebylo by lepší jiné koncepčí řešení? Určitě je jich více možných, ale například :
----------------------------------------------
Start Zdrojové Makro (schematická verze)
běh makra (uložit stávající název A2 – schematická verze)
běh makra (uložit pod novým názvem A1 – schematická verze)
End zdrojové makro (schematická verze)
----------------------------------------------
pokračování v nezávislé práci
↓
Start Zdrojové Makro (realistická verze)
běh makra (upravit soubor s původním názvem (A2) jako zavřený pod podmínkou ?File Exist?)
běh makra (uložit stávající názevA2 = A1)
běh makra (uložit pod novým názvem A1)
End zdrojové makro (realistická verze)
↓
pokračování v nezávislé práci
↓
----------------------------------------------------------------------------
Vždyť když uložíte pod novým názvem, tak starý soubor (původní název) zůstává tam kde byl. Jde jen asi o to, aby se pod svým vlastním názvem uložil tak, aby měl vše až do okamžiku přejmenování. Jakmile ho přejmenujete, je hned bez dalšího "zavřený".
Nově uložený seěit obsahuje vše, a může tedy obsahovat jak původná název, tak ten pod kterým je pojmenovaný. Na to ani hnedle makro není potřeba - jenom přehodit názvy - nový za starý, vygenerovat budoucí (nový), načít do paměti, otevřít dialog uložit jako: - Následně do kolonky název Ctrl+v a stisknou Enter. - Celkem tedy 3 úkony - zavolat makro, vložit název a Entrovat. To nahrajete záznamníkem a uložíte nejlépe do Moje makra Standard.
Prostě je to tak, že rád pomůžu, ale zde mi to prostě připadá málo účelné. Zvládnete asi něco z oblasti programování, ale prakticky byste měl zjistit, že tudy vede křivolaká ulička a při tom existují cestičky mnohem efektivnějí a snadnější.
Pracuji dost intenzivně na šabloně, která toto dělá maličko jinak, ale má mnohostranné užití. Až to budu mít hotové, vrátím se k opravě toho Vámi vybraného kódu.
Editoval neutr (12. 6. 2014 09:57:34)
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É