Check Box
Check Box
Pozdravljeni.
Na sveže se lotevam oblikovanja Dialog Box-a in že sem naletel na prve težave... Problem (na kratko kolikor se da): s pomočjo makroja določim mapo, iz katere jemljem datoteke za nadaljnjo rabo. Zdaj bi pa želel, da se mi pokaže Dialog Box, ki bo imel vse datoteke iz te mape izpisane vsako s svojim Check Box-om, da jih lahko potem poljubno izberem. Podobno stvar bi lahko naredil tudi s tipko CTRL v oknu, kjer izberem mapo (dodal bi tudi možnost da izberem datoteke), vendar bi želel opisano možnost imeti na Dialog Box-u, saj bom tam imel tudi druge možnosti, pa tudi bolj pregledno se mi zdi.
Pa če še vprašam tudi malo bolj na splošno: kako lahko pripravim poljubno število check box-ov, če ne vem koliko bom imel podatkov (enkrat bi potreboval samo 2, drugič pa 15)?
Upam, da sem bil dovolj razumljiv.
Lep pozdrav
Na sveže se lotevam oblikovanja Dialog Box-a in že sem naletel na prve težave... Problem (na kratko kolikor se da): s pomočjo makroja določim mapo, iz katere jemljem datoteke za nadaljnjo rabo. Zdaj bi pa želel, da se mi pokaže Dialog Box, ki bo imel vse datoteke iz te mape izpisane vsako s svojim Check Box-om, da jih lahko potem poljubno izberem. Podobno stvar bi lahko naredil tudi s tipko CTRL v oknu, kjer izberem mapo (dodal bi tudi možnost da izberem datoteke), vendar bi želel opisano možnost imeti na Dialog Box-u, saj bom tam imel tudi druge možnosti, pa tudi bolj pregledno se mi zdi.
Pa če še vprašam tudi malo bolj na splošno: kako lahko pripravim poljubno število check box-ov, če ne vem koliko bom imel podatkov (enkrat bi potreboval samo 2, drugič pa 15)?
Upam, da sem bil dovolj razumljiv.
Lep pozdrav
Re: Check Box
Se ne potrebujete ukvarjati s posameznimi 'CheckBox'-i. V te namene uporabite ListBox kontrolo in ji nastavite parametra:
S tem boste dobili seznam, kjer bo imel vak element lastno kljukico.
Še konkretneje pa pri vas to pomeni, da boste imena datotek preprosto prebrali v ListBox in pred vsako datoteko se bo "magično" pojavil prostor za kljukico...
Koda: Izberi vse
ListStyle = 1 (fmListStyleOption)
MultiSelect = 1 (fmMultiSelectMulti)
Še konkretneje pa pri vas to pomeni, da boste imena datotek preprosto prebrali v ListBox in pred vsako datoteko se bo "magično" pojavil prostor za kljukico...
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Check Box
Hvala za odgovor.
Bom še malo poklikal okrog in okrog, pa da vidim kaj mi bo na koncu uspelo naštimat
Lep pozdrav
Bom še malo poklikal okrog in okrog, pa da vidim kaj mi bo na koncu uspelo naštimat
Lep pozdrav
Re: Check Box
Zdravo.
Z napredovanjem zamišljenega makroja napredujem (koliko preprostih rešitev je na tem forumu ), imam pa eno vprašanje: za listbox mi je uspelo določit Rowsource (ki se spreminja v odvisnosti od izbrane mape), zdaj pa me zanima, če je možno velikost (višino in širino) listboxa samodejno prilagoditi vsebini oz. številu in dolžini elementov? Če je privzeta velikost listbox-a premala, lahko za izbiro elementov sicer uporabim drsnik... ampak raziskujem možnosti
lep pozdrav
Z napredovanjem zamišljenega makroja napredujem (koliko preprostih rešitev je na tem forumu ), imam pa eno vprašanje: za listbox mi je uspelo določit Rowsource (ki se spreminja v odvisnosti od izbrane mape), zdaj pa me zanima, če je možno velikost (višino in širino) listboxa samodejno prilagoditi vsebini oz. številu in dolžini elementov? Če je privzeta velikost listbox-a premala, lahko za izbiro elementov sicer uporabim drsnik... ampak raziskujem možnosti
lep pozdrav
Re: Check Box
Ukaz "IntegralHeight = True" mi ne deluje. Ali ima to kakšno zvezo načinom izbire RowSource-a (nek obseg na listu)?
Re: Check Box
Ne samodejno ne!sonofagun napisal/-a: za listbox mi je uspelo določit Rowsource (ki se spreminja v odvisnosti od izbrane mape), zdaj pa me zanima, če je možno velikost (višino in širino) listboxa samodejno prilagoditi vsebini oz. številu in dolžini elementov?
Ne to, ne deluje tako kot si verjetno predstavljate; torej da bi se List Box širil, če je besedila veliko...sonofagun napisal/-a: Ukaz "IntegralHeight = True" mi ne deluje. Ali ima to kakšno zvezo načinom izbire RowSource-a (nek obseg na listu)?
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Check Box
OK, to torej odpade. Kaj pa če ListBox-u predpišem število vrstic, ki je enako številu vrstic v RowSource-u? To je izvedljivo?
Re: Check Box
Preizkusite :)... Preprosto ni izvedljivo, saj je velikost ListBox-a definirana v točkah (Pixels) in ne v številu vrstic... Vi bi torej morali vedeti koliko točk je velika ena vrstica... Če se omejite na en sam fiksen nabor znakov (font), potem to niti ni tako težko...sonofagun napisal/-a:To je izvedljivo?
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Check Box
Sem malo poizkušall, pa stvar načeloma deluje (treba je pač videt kaj takšno spreminjanje prinese še za preostale elemente UserForm-a, ampak gre)... dodal sem še omejitev do katere bi lahko največ povečal ListBox (in tudi UserForm), ne glede na število elementov v RowSource-u. Tu je pa težava, saj mi v primeru, da je dosežena ta največja višina, le-to sicer sfiksira, ampak drsnika za elemente ListBox-a pa nikjer - torej ne morem dostopat do vseh elemenetov!
Kje sem ga pihno mimo?
Koda: Izberi vse
z = Range("g65536").End(xlUp).Row
h1 = z * 14 + 120
If h1 > 400 Then
h1 = 400
Else
h1 = z * 14 + 120
End If
h2 = (z - 1) * 14
If h2 > 280 Then
h1 = 280
Else
h2 = (z - 1) * 14
End If
UserForm1.ListBox1.RowSource = ("g2:g" & z)
UserForm1.Height = h1
UserForm1.ListBox1.Height = h2
UserForm1.Show
Re: Check Box
Hm... Ne vem kaj bi lahko naredili narobe. Moje mnenje je, da vidite vse podatke. Če namreč ListBox vsebuje preveč podatkov, avtomatično izriše drsnik?
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Check Box
Ne vem, (še) ne najdem logike (če mu ne določam neke "pogojne" višine, potem pa kaže drsnik!) Kako pa je na splošno z avtomatskim večanjem/manjšanjem pojavnega okna v makrojih? Ne poznam točno izraza, ampak se da ustvarit tisti mali trikotnik v spodnjem desnem kotu pojavnega okna, ki ga potem primemo in "raztegujemo" po želji? Če je pač kakšna možnost... drugače pa bom pač moral dati za ziher malo več prostora v listbox-u ali pa si pomagati s fiksno višino in drsnikom
http://picasaweb.google.com/lh/photo/iT ... directlink
lep pozdrav in hvala za vso pomoč
http://picasaweb.google.com/lh/photo/iT ... directlink
lep pozdrav in hvala za vso pomoč
Re: Check Box
Ne, na žalost to v VBA obrazcih ni mogoče - so fiksne širine... No razen, če vse to sprogramirate samo - potem je mogočesonofagun napisal/-a:Kako pa je na splošno z avtomatskim večanjem/manjšanjem pojavnega okna v makrojih? Ne poznam točno izraza, ampak se da ustvarit tisti mali trikotnik v spodnjem desnem kotu pojavnega okna, ki ga potem primemo in "raztegujemo" po želji? Če je pač kakšna možnost...
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Check Box
Hm, mogoče pa Bo pa do takrat najbrž še kr nekaj vode preteklo
Lep pozdrav
Lep pozdrav
Re: Check Box
O tem je že bilo govora skoraj tri leta nazaj. Takrat sem napisal:
Morda pa se bom kdaj spet lotil reševanja tega "problema"...
Lahko malo pregledate kodo, morda bo vam uspelo izluščiti kako rešitev. Jaz sem takrat obupalMorda kot zanimivost, ki vas bo verjetno zanimala! Pri brskanju na netu sem našel Excel zvezek, kjer je prikazano in tudi v VBA kodi opisano, kako se dodajajo gumbi za miniziranje, maksimiranje. In še nekaj drugih možnosti v zvezi z formo. Moje znanje je mnogo preskromno, da bi si vedel pomagati s tem, čeprav sem kar nekaj časa poskušal. Zadeva je vsaj zame preveč komplicirana.
Morda bi se Matjaž ali pa kdo drug ogledal zadevo in podal neko rešitev vsaj za miniziranje in maksimiranje forme, saj bi to večkrat prišlo prav.
Naj dam še link do strani, kjer se nahaja primer:
http://www.oaltd.co.uk/Excel/Default.htm
Pod VBA programming se nahaja datoteka z imenom "FormFun.zip" Po razpakiranju boste našli zvezek s primerom.
Morda pa se bom kdaj spet lotil reševanja tega "problema"...
lp,
cedra
cedra
Re: Check Box
Zanimivo. Imajo na tej spletni strani precej uporabnih stvari, samo ta omenjena koda pa je zeloooo preveč za mene Tak daleč s svojim znanjem še nisem, pa tudi nikjer ne piše "Copy this code to editor"
Mogoče velja pogledati še datoteko Resizer.zip, mislim da je malo manj zahtevna.
Je pa vse skupaj vsekakor izziv...
Lep pozdrav
Mogoče velja pogledati še datoteko Resizer.zip, mislim da je malo manj zahtevna.
Je pa vse skupaj vsekakor izziv...
Lep pozdrav