< návrat zpět

MS Excel


Téma: Zvláštní chování při otvírání sešitu rss

Zaslal/a 13.9.2015 16:52

Při experimentování s formulářem o proměnné velikosti jsem narazil na zvláštnost, pro kterou neznám vysvětlení ani programátorsky čisté řešení.
Pokud sešit zavolám k jinému otevřenému sešitu, zobrazí se v tom dosud aktivním sešitě můj zavolaný nemodální formulář. To funguje dobře, to chci.
Zavřením nemodálního formuláře křížkem vpravo nahoře se zavře i celý sešit s formulářem. I to je dobře, tak jsem se to snažil napsat.
Potíž nastala, když jsem se po zavření pokusil opět svůj sešit otevřít (aniž bych mezitím přerušil práci s Excelem). Z důvodů, které jsem neodhalil, vznikne při tom chyba 429. Po přeskočení chyby se sešit otevře, ale bez nového otevření formuláře. Během hledání příčiny vadného chování jsem s překvapením zjistil, že opakovaný pokus o otevření už projde bez závady. A tak nyní mám v událostní proceduře Workbook_Open
následující nehezkou konstrukci
On Error Resume Next
PoloPruh.Show 0
If Err <> 0 Then
PoloPruh.Show 0
End If

Prostě, když se to nepovede napoprvé, tak to zkusím podruhé - a uspěji. Nic ošklivějšího jsem snad nikdy nenapsal. Protože to ale funguje a já lepší řešení nemám, tak to tam je.
Pokud někdo odhalí příčinu a najde čistší řešení, udělá mi tím radost. Inkriminovaný sešit je v příloze.

Příloha: zip26836_transform.zip (34kB, staženo 21x)
Zaslat odpověď >

#026837
elninoslov
Po úprave s Terminate, sa to u mňa už neprejavuje.
Příloha: rar26837_transform.rar (27kB, staženo 22x)
citovat
#026838
avatar
Vypadá to, že jste se trefil. Je to zvláštní, ale nevzpomínám si, že bych někdy událost Terminate použil. Budu se muset podívat do chytrých knih, co všechno UserForm.Terminate dělá. Člověk se má pořád co učit. Možnost zeptat se je k nezaplacení. Jednou vím já, jindy někdo jiný. Už Werich zpíval "ten umí to a ten zas tohle, a všichni dohromady uděláme moc". Dík!citovat

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