Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  29 30 31 32 33 34 35 36 37   další »

Mám upřímný (a zcela neosobní) dotaz: je opravdu nutné řešit nastavení těch vzorců v notaci R1C1? Podle mých zkušeností (s výjimkou několika málo situací, v nichž help přímo uvádí povinnost použít specifickou notaci) lze vzorec psát, "jak mi zobák narostl" a teprve na samém konci (v případě nezbytnosti) použít převod na R1C1. Domníval jsem se, že nedávná diskuse o automatických převodech notace vzorců do věci vnesla jasno. Je možné, že jsem něco podstatného přehlédl ?!?

Vracím se k poznámce elCHa o možnosti využít vlastnosti .Tag aktivních prvků pro jednodušší práci při psaní formulářů s proměnlivou velikostí. To je dobrý nápad, který jsem s úspěchem zabudoval do svého dema. Navíc jsem události propracovanějšího druhého formuláře doplnil o řádky kódu pro změny velikosti na výšku. Jen jsem je "zaremoval", protože je ten formulář nevyužívá.
Při použití jako vzoru pro jinou úlohu se to může hodit. Upravenou verzi posílám v příloze.

Politik by pravil, že jde o hluboké nedorozumění. Vůbec jsem nechtěl být útočný. Vycházím z toho, že naše příspěvky do fóra čtou i jiní než my dva. Pokládám za rozumné, aby v příspěvcích pokud možno nebyly zbytečné chyby, které snižují jejich využitelnost. Nefunkčnost sešitu pokládám za zbytečnou chybu. To je vše, co jsem chtěl říct.
Za jakýkoliv osobní nádech mých příspěvků se dozadu i dopředu omlouvám. Jediným jejich smyslem jsou kvalitní služby tohoto fóra. Za tu chvilku, co tady jsem, si u mne toto fórum získalo důvěru a úctu.
A co se týká reakcí - co jiného než reakce může doložit, že si příspěvek někdo přečetl a že dokonce měl chuť odpovědět. Reakce jsou podstatou diskuze. Uznávám, že by neměly dráždit.

to elCHa: Mě to neskácí, ale pokládám za přirozené, že zaslané sešity fungují. Ten formulář má úplně blbou chybu a už po prostém UserForm1.Show dostanu ránu do čenichu. Alespoň otevřít by se měl!

Jak jsem slíbil, jsem tu a se mnou demo v příloze. Obsahuje dva formuáře:
- první z nich jen ukazuje, jak pracuje změna velikosti formuláře na výšku i na šířku. Vnitřní boxy pracují ve třech módech: (1) pevný: box se změnou velikosti formuláře nemění a může být zmenšením formuláře částečně i úplně zakryt, stejně jako se může teprve po zvětšení formuláře objevit; (2)ukotvený: levý horní roh boxu má kotvu, pravý dolní roh se stěhuje spolu s úchytem (box mění velikost); (3) plovoucí: box se stěhuje spolu s úchytem a zachovává si svou velikost.
- druhý formulář mění pouze svou šířku a obsahuje jak ukotvené, tak plovoucí prvky. Formulář je použit pro úlohu FormulaTranslator, která byla předmětem diskuze na fóru před pár dny. Jeho specialitou je skrytí excelské aplikace po dobu zobrazení formuláře.
Demo jsem psal se záměrem zjednodušit život ostatním, kdyby je jim formulář s proměnnou velikostí hodil do krámu

to Lubo: tohle už je vlídnější na použití. API funkcí je tam výrazně méně 1 . Já jsem ale mezitím objevil příčinu zádrhele v algoritmu od Andy Popa, který jsem našel u Walkenbacha. Tam žádné API funkce nejsou, což beru za velkou přednost toho řešení.
Řešení jsem rozhýbal a pokouším se napsat svoje demo tak, aby ho mohli použít běžní vývojáři, kteří mají z API funkcí hrůzu. Jakmile usoudím, že to může jít do světa, šoupnu to sem na fórum.
Pánové, dík za pomoc!

Pyšný na to nejsem, ale řešení to je! Pan profesor přes lineární algebru by mi za takové řešení navrhl odebrání diplomu 2 !

To vypadá nejspíš na optimalizační úlohu s hledáním optimálního řešení po vylepšovacích krocích. Pokud vím, Excel má nástroje (snad v rámci Řešitele), které by mohly pomoci při hledání nejlepšího možného řešení. Bohužel s tím ale v Excelu nemám žádné zkušenosti. V žádném případě si ale nemyslím, že by na to šlo vytvořit vzorce.

Dík! To je krásné, čistě udělané a prakticky dokonalé řešení. To plně platí z pohledu té demonstrace. Horší je to s možností její aplikace. Ta demonstrace honí strašně moc zajíců najednou, obsahuje kopec API funkcí a vyznat se v tom, co za co může, pro mne bude oříšek (s velikostí nejmíň pořádného kokosového).
Jen velmi nerad používám černé skříňky, u kterých neumím rozlišit smysl věcí. Bullen je vynikající machr typu David Copperfield a své králíky tahá z klobouku s velkou grácií. Už se vidím, až se to pokusím udělat sám. Nejspíš z toho bude groteska...
Našel jsem alternativu v manuálu od Walkenbacha, který se odvolává na dalšího mága, Andy Popa. Jde o řešení bez API funkcí, což je lákavé. Někde cestou do českého vydání bohužel došlo ke zmatení popisu řešení, takže návod je bohužel nefunkční.
Mám teď dvě možnosti: rozluštit funkční, ale nečitelný kód od Bullena, nebo rozluštit čitelný, ale nefunkční text od Walkenbacha. A teď, babo, raď! 7

Ví někdo z vás, jak napsat formulář, u kterého lze během práce s ním měnit velikost jeho plochy včetně velikosti jeho aktivních prvků? Příklad dialogového okna s uvedenými vlastnostmi je v příloze a pochází z dialogu pro psaní vzorců pro názvy. Jde mi o úchyt vpravo dole v okně, za který lze myší měnit velikost jak okna, tak textboxu v něm.
Jde mi o to, jestli srovnatelnou schopnost lze udělit uživatelskému formuláři. Jestli ano, hledám postup pro vytvoření takového formuláře.

Já myslel na to, aby to rychle počítalo, ne na to, co nemáte rád. Pokud vám zrychlení práce nestojí za to, abyste použil pole, pak je to vaše volba...

V příkladu chybí úvodní tečky před LisBox. A ještě něco: pokud se sloupce nevejdou na šířku, prvek se sám doplní o vodorovný posuvník; to samé platí pro výšku ListBoxu se svislým posuvníkem.

Podle mých testů mi vychází jako nejrychlejší naplnění ListBoxu z dvourozměrného pole, např.
Dim Pole(1 To 20, 1 To 15)
' naplnění Pole hodnotami
With UserForm1
ListBox1.ColumnCount = 15
ListBox1.List = Pole
End With

Tohle není z mé hlavy, tak to mabízí Walkenbach. Pokud nedefinuji ColumnWidths, vzniknou sloupce 1 palec široké. Opět ne z mé hlavy, tentokrát z excelského helpu.

Prakticky shodný postup jsem kdysi také použil a také jsem s ním měl úspěch. Pak mi nějaký koumák předvedl, jak zavřít sešit, aniž by byla použita událost Before_Save, která vracela viditelnost datových listů do skrytého stavu. A příští otevření sešitu se zakázanými makry ukazovalo data, která měla zůstat skrytá. Pokazilo mi to náladu, ale uživateli jsem nic neřekl. A ten si na oplátku nikdy nestěžoval, že by někdo moji ochranu prolomil.
Excel není datově bezpečné prostředí a asi nikdy takové nebude. Kdo je koumák, něco vždycky vymyslí. Ochrany dat v Excelu slouží k tomu, aby nedošlo k náhodnému a nechtěnému styku uživatelů s chráněnými daty. Proti záměrnému a chytrému útoku ostatně nejsou ochráněna ani ta nejtajnější data těch nejtajnějších institucí...

Jestli vidím dobře, odkaz je na letošní příspěvek. Já ten "svůj" Immediate nezpracně užívám už cca deset let... Nevím, proč psát rutinu na něco, co se bez ní obejde.


Strana:  1 ... « předchozí  29 30 31 32 33 34 35 36 37   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje