pimre Creative Commons License 2013.05.09 0 0 21262

Jimmy még egyszer nagyon köszönöm. Áttértem a comboboxra, ahogy ajánlottad, és azóta elkészült az adatfelviteli rész, és működik végre az adatlapom. A többi adatlap az már a meglévőnek a klónja lesz néhány további adattal, tehát nem félek tőle.

 

Azért beleütköztem néhány problémába:

 

1. Egyes boxoknál (egy éveket bekérő textbox, aminek adtam bemenő értéket - évszázad, amit csak ki kell egészítenie a felhasználónak, aztán több combobox)  a default betütípus bold volt, anélkül, hogy szándékom szerint beállítottam volna. Másoknál normál szöveg volt. Végül a programból a .Font.Bold = false beállítással el tudtam érni a normál szöveget. Most már csak kíváncsi vagyok, hogy mitől állítódik alaphelyzetben nullára, valamint arra, hogy jól látom-e, hogy ezt a propertiesnél nem tudom beállítani, csak programból.

2. A programban az egyes tételek kitöltése és az adatsor táblázatba írásakor egyben mentem is az állományt biztonsági okokból. És ez dolgozik 2-3 másodpercet. Ezért erre az időre szeretném bekapcsolni a homokórát (Application.Cursor = xlWait). Az viszont csak olyan késleltetéssel jelentkezik, hogy többnyire nem is jelenik meg, vagy legfeljebb a várakozás utolsó másodpercének töredékére. Ha beiktatok a homokóra után egy várakozást (pl. msgbox), akkor megjön a homokóra. Lehetséges programból kikényszeríteni a homokóra azonnali megjelenését?

3. A következő inkább csak észrevétel, nem annyira kérdés. Teljesen megdöbbentett, hogy a formokon nem működik az eseménykezelő tiltása (Application.EnableEvents = False). (Legalábbis 2003-as verzió alatt) Ha a change funkció módosítja a box értékét, simán visszaugrik a vezérlés a change elejére. Aztán később megtaláltam ezt dokumentálva (http://www.cpearson.com/excel/SuppressChangeInForms.htm), és volt javaslat a kivédésére is. Azért érdekelne, hogy ezt szándékosan oldották meg így, vagy egyszerűen elfelejtkeztek róla a szerzők.

 

Előzmény: Törölt nick (21228)