USER FORM

Pomoč pri delu z MS Excelom
Odgovori
princ
Prispevkov: 1
Pridružen: So Feb 17, 2007 5:34 pm

USER FORM

Odgovor Napisal/-a princ »

Pozdravljeni

V excelovem DL imam narejeno user form1,sedaj pa me zanima kako bi naj naredil ,da se mi ta user form nebi premikala po delovnem listu ker ni prijetno da se vidi kaj je prekopirano,in kako naj dodam kodo zgoraj v okno ,da bi imel zraven križcaza zaporanje.tudi gumb za maximiranje okna.
Ali je možno da mi iz tx boxa kopira v skriti DL,če ga skrijem mi kopira v naslednji odprt DL.

Hvala za odgovor in pomoč

LP
admin
Site Admin
Prispevkov: 3712
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,

Odgovori na vaša vprašanja:
  1. Okna so namenjena temu, da se premikajo in tega ne morete preprečiti.
  2. VBA ne pozna lastnosti, ki bi ob križcu narisala še gumb za pomanjšanje/povečanje okna.
  3. Tega pa ne razumem. Seveda lahko pišete v skriti zvezek, ne vem zakaj bi ne mogil. Sploh pa ne razumem, kaj želite reči s tem, da vam piše v naslednji zvezek??? Boste morali pokazati delček kode...
lp,
Matjaž Prtenjak
Administrator
kljuka13
Prispevkov: 257
Pridružen: Po Sep 10, 2007 4:29 pm
Kraj: Maribor

Odgovor Napisal/-a kljuka13 »

Kaj pa ta koda?

Koda: Izberi vse

Private Sub UserForm_Layout()
     Me.Left = 0
     Me.Top = 0
End Sub
:)
[img]http://shrani.si/f/3t/YL/4W2P37B9/office.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Odgovor Napisal/-a cedra »

admin napisal/-a: VBA ne pozna lastnosti, ki bi ob križcu narisala še gumb za pomanjšanje/povečanje okna.
Morda 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 bi Matjaž napisal kakšen komentar glede tega.
lp,

cedra
kljuka13
Prispevkov: 257
Pridružen: Po Sep 10, 2007 4:29 pm
Kraj: Maribor

Odgovor Napisal/-a kljuka13 »

Nekako tako:

Koda: Izberi vse

Private Const WS_MAXIMIZEBOX As Long = &H10000   

Dim mbMaximize As Boolean

Public Property Get ShowMaximizeBtn() As Boolean
    ShowMaximizeBtn = mbMaximize
End Property

Public Property Let ShowMaximizeBtn(bMaximize As Boolean)
    mbMaximize = bMaximize
    SetFormStyle
End Property

Private Sub SetFormStyle()

    Dim lStyle As Long, hMenu As Long

    'Have we got a form to set?
    If mhWndForm = 0 Then Exit Sub

    SetBit lStyle, WS_MAXIMIZEBOX, mbMaximize
    
End Sub
[img]http://shrani.si/f/3t/YL/4W2P37B9/office.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Odgovor Napisal/-a cedra »

Zdaj pa me še zanima, kako bi lahko to uporabil v praksi? Morda kakšen primer...
lp,

cedra
kljuka13
Prispevkov: 257
Pridružen: Po Sep 10, 2007 4:29 pm
Kraj: Maribor

Odgovor Napisal/-a kljuka13 »

Nekako takole:

Koda: Izberi vse

Me.ShowMaximizeBtn = True
Poglejte raje v primer delovnega zvezka.
[img]http://shrani.si/f/3t/YL/4W2P37B9/office.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Odgovor Napisal/-a cedra »

kljuka13 napisal/-a:Nekako tako:

Koda: Izberi vse

Private Const WS_MAXIMIZEBOX As Long = &H10000   

Dim mbMaximize As Boolean

Public Property Get ShowMaximizeBtn() As Boolean
    ShowMaximizeBtn = mbMaximize
End Property

Public Property Let ShowMaximizeBtn(bMaximize As Boolean)
    mbMaximize = bMaximize
    SetFormStyle
End Property

Private Sub SetFormStyle()

    Dim lStyle As Long, hMenu As Long

    'Have we got a form to set?
    If mhWndForm = 0 Then Exit Sub

    SetBit lStyle, WS_MAXIMIZEBOX, mbMaximize
    
End Sub
In kam naj to kodo vpišem v nekem novem zvezku? Ni mi jasno! Kamorkoli v novem zvezku to prilepim mi kaže eno napako za drugo. Malo več napotkov, če se da!
lp,

cedra
kljuka13
Prispevkov: 257
Pridružen: Po Sep 10, 2007 4:29 pm
Kraj: Maribor

Odgovor Napisal/-a kljuka13 »

Saj pravim nekako takole. Nevem popolnoma. Poglejte v tisti delovni zvezek (FormFun) pa ven izbrskajte ključne makre.
[img]http://shrani.si/f/3t/YL/4W2P37B9/office.gif[/img]
[img]http://shrani.si/f/12/aa/1rt1wj6i/1/userbardionaea.gif[/img]
[img]http://shrani.si/f/3D/nN/3RQySBCl/vista-copy.gif[/img]
Odgovori