Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ponovni fokus na već otvorenu formu

[es] :: Office :: Excel :: Ponovni fokus na već otvorenu formu

[ Pregleda: 1047 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.dynamic.sbb.rs.



+322 Profil

icon Ponovni fokus na već otvorenu formu06.10.2018. u 17:51 - pre 66 meseci
Imam problem sa ponovnim fokusom na TextBox1 u formi kada jednom izgubim fokus.

Primer je zamišljen ovako. Kada se pokrene fajl, otvori se forma sa TextBoxom u kome se očekuje neki unos. Kada se detektuje da je korisnik stisnuo enter, fokus se prebacuje na neku ćeliju u Excelu i čeka se da korisnik unese neku vrednost u njoj. Svaki put kada se promeni vrednost u bilo kojoj ćeliji u 2. koloni, fokus bi ponovo trebalo da se vrati na formu i TextBox u njoj ali mi ne uspeva.

Probao sam svašta ali ne uspeva. U primeru je jednostavan poziv Form.Textbox.SetFocus čisto da lakše vidite na kom mestu to treba da se desi.
Molim za pomoć.
Prikačeni fajlovi
 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 574



+50 Profil

icon Re: Ponovni fokus na već otvorenu formu06.10.2018. u 20:51 - pre 66 meseci
Mora malo da se bude pazljiv posebno ako je u pitanju 64bitna verzija Excela kao i koja je verzija Excela u pitanju.

MS je to malo vise napravio problema zato sto je napravio mix starog VBA i novih stvari.

Elem, plus 64-bitne verzije su takodje malo problematicne zbog pojedinih f-ja.

Da ne duljim mnogo.

U prilogu je resenje koje radi bar ovde kod mene kako treba.

Obratiti paznju na kontrole na userform kao i na osobine (properties) za iste.

Da bi se resio problem na sto prostiji nacin oko fokusa i da ima sto manje problema s' tim u vezi (GUI deo), dodato je jedno ToggleButton dugme koje se prilikom inicijalizacije userforme pomera na neku koordinatu x,y koja nije vidljiva na toj istoj formi.

Takodje za UserForm postaviti ShowModal osobinu na False. Pogledati isto ostale osobine (properties).

Zbog testa je stavljeno da se forma ponovo prikazuje ako ima promena za Cells(2,2) tj. Row = 2 i Col. = 2. Videti Worksheet_Change(ByVal Target As Range) u Sheet1.




Prikačeni fajlovi
 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.dynamic.sbb.rs.



+322 Profil

icon Re: Ponovni fokus na već otvorenu formu06.10.2018. u 23:32 - pre 66 meseci
Suštinski radi, ali ne mogu da verujem da mora tako, što se kaže uz pomoć štapa i kanapa.
Ne znam tačno na kojim verzijama će raditi ali cilj je da radi na više računara pa postoji realna mogućnost da će neki biti 64 a neki 32 bitni. U suštini pravio sam podršku za popis na način da pokušam što više da ga ubrzam, pa pošto se popisuje oko 20.000 artikala svaki klik je bitan, jer za klik ako je potrebna 1 sekunda, to je 20.000 sekundi, što je opet 333,33 minuta ili 5,5h samo za jedan glupavi klik. I toliko u startu duže traje popis, pa hoću da im automatizujem pretragu i pozicioniranje u ćeliju u koju se unose podaci. Ako je bitno, a mislim da nije, fajl će biti šerovan i više korisnika u isto vreme vrši popunjavanje tabele.
 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 574



+50 Profil

icon Re: Ponovni fokus na već otvorenu formu06.10.2018. u 23:51 - pre 66 meseci
Nazalost MS u poslednje vreme ko da radi protiv sebe i ono sto je nekada bilo dobro pretvara u mnogo lose a da pri tome nije u stanju da ponudi alternativu.

U zavisnosti od vremena i mogucnosti postoje i drugi nacini da se taj vas problem resi.

Jedan od nacina je da se u starom VB6 odradi brza aplikacija za te namene i da se uveze sa nekom bazom tipa MS Access.

Ako se ne koriste neke dodatne kontrole i dll-ovi onda VB6 aplikacija moze da radi i bez potrebe da se instalira. Takodje, iako je recimo potrebno da se ista instalira onda je to obicno instalacioni msi file koji je od 2.1MB do 10MB te tako treba razmisliti.

Moze i u drugim alatima (recimo DOT.NET, Delphi ili neko web resenje koje mozda tu najsporije...) ali ako je potrebno bas da bude i mala aplikacija (velicina file-a) i da to bude brzo onda to VB6 moze da odradi.

Sto se tice koda, kod je slican kao VBA kod u MS Excelu samo sto je slobodan. Nacin rada je mnogo bolji i mnogo prkaticniji i od Excel-a i od Access-a.

Ako treba neka pomoc i po tom pitanju nije problem...

p.s. Jedina falinka za VBA ali i za VB6 je sto oni nisu UTF-8 Unicode ready alati vec su ANSI pa je ogranicena podrska za razna pisma kao sto je recimo latinica, cirlica i sl. - podrzava ali malo mora da se poradi i oko podesavanja.

 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.dynamic.sbb.rs.



+322 Profil

icon Re: Ponovni fokus na već otvorenu formu07.10.2018. u 00:11 - pre 66 meseci
@Bokinet hvala u svakom slučaju, još ću malo razmisliti. U suštini to mogu da zaobiđem tako što bi se unos radio direktno iz forme u odgovarajuću ćeliju i tako forma ne bi gubila fokus, ali baš sam želeo da to radi na način kako sam prvobitno osmislio jer je prirodnije onima koji unose da to rade na način na koji su navikli i koji je njima blizak.
 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 574



+50 Profil

icon Re: Ponovni fokus na već otvorenu formu07.10.2018. u 00:33 - pre 66 meseci
Sve u svemu zavisi od potreba kao i sta se hoce - ideja, koncept i realizacija.

Pored toga, postoje mobilni uredjaji koji se mogu koristiti za popis.

Evo primera uredjaja za takve namene:
https://www.info-kod-resenja.r...i-i-resenja/prenosni-terminali
 
Odgovor na temu

[es] :: Office :: Excel :: Ponovni fokus na već otvorenu formu

[ Pregleda: 1047 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.