Microsoft Office - Razno
uređuje Dragan Grbić

 Office Praktikum | Mapa sajta 

 
Bookmark and Share
Matična strana sajta
Novo na sajtu
Mapa sajta
Beleške
Knjiga posetilaca
Kontakt

Prethodna stranica
Pretraga sajta
Pretraga MSKB

Blog Praktikuma
RSS feed 
 
Office Praktikum

Razno o Officeu
 


Skoro svakodnevno slušamo
  Radio Paradise:
  eklektični muzički online radio bez reklama!
 

   

Sponzori sajta

  Connectivity by SBB
 
Connectivity by SBB

 

Informacije

NOVOSTI
Novi prilog o Wordu
Tri nova autorska članka
Četiri priloga o Accessu
Opis i uputstvo za alatku YuCirLat '08 (Word)

SADRŽAJ ZA PREUZIMANJE
YuCirLat '08 unapređena alatka za konverziju kodnih rasporeda u Wordu

SKREĆEMO PAŽNJU
Beleške: B(l)oga li ti tvoga!- prilog koji će nekog možda čak i da naljuti
Kako pretraživati MSKB
* a pronaći ćete i još mnogo novih sadržaja...

USKORO SERIJA ČLANAKA O OFFICEU 2010

POZIVAMO VAS
* i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.



  (C) 2000-2009 Praktikum na Webu
 

Slike na dugmadima

Nivo:  NIVO 3 - klinite za objašnjenje


Ovog puta govorimo o alternativnim metodama za pozivanje makroa koji čine glavni gradivni element vaše Office aplikacije. Dajemo vam i VBA predložak za ispitivanje raspoloživih dugmadi za traku alatki.

Ako pravite neki sistem makroa koji će krajnji korisnici upotrebiti kao rešenje za automatizaciju u dokumentu, potrebno je da nađete optimalni način da privedete komande korisniku. Svakako, možete obučiti korisnika da za pokretanje makroa upotrebi standardni dijalog za pokretanje makroa (Alt+F8). Ali, ako imate mnogo procedura, među kojima su i one pomoćne, koje nije primereno pokretati nezavisno, na pragu ste problema, jer sigurno dobro znate kako glasi prvi Marfijev zakon. Istina, postoji način da prikrijete makroe za koje ne želite da ih korisnik vidi (pogledajte prilog o tome), ali to je "labava" zaštita.

Jedna od prikladnih ideja je da obezbedite traku sa alatkama (toolbar) koju ćete inicijalizovati u toku pokretanja dokumenta. Čak je zgodno da te trake namerno izvedete kao privremene! Tako biste, na primer, sprečili "zagađivanje" glavnog predloška u Wordu ili biste u bilo kom Office programu osigurali da se traka sigurno pojavi svaki put kada dokument ili predložak bude otvoren.

Primer gradnje jedne proste trake sa alatkama vidite u sledećem listingu:

Sub MojaTraka()

Set traka = CommandBars.Add(Name:="Moja Traka", _
   Position:=msoBarFloating, Temporary:=True)
   ' ako pravite stalnu traku, izbacite
   ' klauzulu Temporary:=True
traka.Visible = True

Set dugme = traka.Controls.Add(Type:=msoControlButton)
With dugme
  .FaceId = 59
  .TooltipText = "Hello, World!"
  .Caption = "Pozdrav"
  .Style = msoButtonIconAndCaption
  '.OnAction = "Proc_Hello"
End With

Set dugme = traka.Controls.Add(Type:=msoControlButton)
With dugme
  .FaceId = 712
  .TooltipText = "Naučite 99 trikova u VBA"
  .Caption = "99 trikova u VBA"
  .Style = msoButtonIcon
  '.OnAction = "Proc_99"
End With

Set dugme = traka.Controls.Add(Type:=msoControlButton)
With dugme
  .FaceId = 106
  .TooltipText = "Zatvaranje ove trake"
  .Caption = "Zatvori"
  .Style = msoButtonCaption
  '.OnAction = "Proc_Zatvori"
End With

End Sub

Uočite da postoje razlike između tri komande, zavisno od odabira pojavljivanja dugmeta i ispisa. Verovatno već znate da to možete preurediti standardnim alatkama za preuređenje sadržaja trake komandi, ali ostavimo to za drugi put. Uočite komentarisane redove u klauzuli OnAction: pod navodnicima su imena (ovde zamišljenih) VBA procedura koje klik na dugme poziva na izvršenje.

Dajem vam i pomoć u uspostavljanu kontrole nad slikama na dugmetu. Ponuda tih sličica je ogromna, ima ih nekoliko hiljada! Napravio sam "VBA igračku" da bih utvrdio kako stoje stvari, pa sam saznao da se identifikatori sličica kreću u rasponu 1-10030. U prilogu uočite makro TestBarDugmad, koji će u bilo kom Office programu napraviti 21 traku sa po 500 dugmadi.

Sub TestBarDugmad()
' postavljanje traka sa
' uzorcima po 500 dugmadi

On Error Resume Next

For kol = 1 To 21
  donji = 500 * (kol - 1) + 1: gornji = 500 * kol
  ime = "Grupa " & kol & ": " & donji & "-" & gornji
  Set traka = CommandBars.Add(Name:=ime, _
    Position:=msoBarFloating, Temporary:=True)
  traka.Visible = True
  For i = donji To gornji
    Set dugme = traka.Controls.Add(Type:=msoControlButton)
    dugme.FaceId = i
    dugme.TooltipText = i
  Next
  DoEvents
Next
MsgBox "Gotovo"

End Sub

Traka će biti vrlo široka, pa povucite svaku za donju ivicu dok ne dobijete pravougaonik koji ceo staje na deo ekrana. Predlažem da za ovaj test upotrebite Excel ili PowerPoint, jer se makroi podrazumevano čuvaju u matičnom dokumentu, a uklanjanje ovih traka (makro DugmadKill_XL_PPT) je jednostavnije nego u Wordu (DugmadKill_Word). No, svejedno: privremene trake su žive samo do zatvaranja programa.

Sub DugmadKill_Word()
' brisanje traka sa uzorcima u Wordu

For Each traka In CommandBars
  If Left(traka.Name, 6) = "Grupa " Then
     Application.OrganizerDelete _
     Source:=NormalTemplate.FullName, _
     Name:=traka.Name, _
     Object:=wdOrganizerObjectCommandBars
  End If
Next traka

End Sub

Sub DugmadKill_XL_PPT()
' brisanje traka sa uzorcima
' u Excelu i PowerPointu

For Each traka In Application.CommandBars
    If Not traka.BuiltIn Then traka.Delete
Next

End Sub

 

  (C) 2000-2009 Praktikum na Webu

PC 118


 
 

Vrh stranice  Prethodna stranica  Naslovna strana  Mapa sajta  Pretraga

AFORIZAM ZA DANAS OVIH DANA SLUŠAMO...

Copyright © Praktikum na Webu, 2000-2009; Valinor Design; sva prava pridržana.