Microsoft Office - Razno
uređuje Dragan Grbić

Bookmark and Share
Matična strana sajta
  Novo na sajtu
  Mapa sajta
  Beleške
  Kontakt
  Pretraga MSKB

 Blog Praktikuma
  RSS feed
  P@W @Tw

  Izvezi stranicu u PDF
 
Office Praktikum

Razno o Officeu
 


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

 
       

Sponzori sajta

SBB CS 1.6 game server: 82.117.200.1
 
Connectivity by SBB

 
Suština pasijansa
Suština pasijansa
 


 

Informacije

NOVOSTI

I još dva nova priloga o Excelu
Novi prilozi o Wordu
Novi i prilozi u temi "razno o Officeu"
Novi članci o novostima u Officeu 2010!

SADRŽAJI ZA PREUZIMANJE

Lokalizacija Total Commandera 7.51Obe jezičke školjke za popularni program na srpskom sad funkcionišu u bilo kojoj varijanti Windowsa!
RNDalica.ExcelDodatak za Excel 2007/2010 za generisanje slučajnih podataka!
YuConv.ExcelDodatak za Excel 2007/2010 za konverziju pisama!
YuConvNetDodatak za Word 2007/2010 za konverziju pisama i kodnih rasporeda!

SKREĆEMO PAŽNJU

Kako pretraživati MSKB
a pronaći ćete i još mnogo novih sadržaja...

KONTAKT

Da li znate za pravila koja važe pri kontaktu sa nama? Molimo vas da se obavestite o tome!
 
POZIVAMO VAS

i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.

  (C) 2000-2010 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-2011 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-2011; Valinor Design; sva prava pridržana.