Comutare folosind butonul de comutare Toggle

Un buton de comutare Toggle arată ca un buton obișnuit, dar în interfața Windows 8, este doar text, ca un hyperlink. Când faceți clic pe buton, acesta se animă. Apar umbre în spatele butonului de comutare pentru a face ca butonul să arate ca și ar fi fost apăsat.

Însă în Office 2010, umbrirea butonului a fost eliminată. La comutare, butonul Office 2010 se transformă în galben!

În Office 2013, la apăsarea butonului de comutare apare un fundal albastru în jurul etichetei butonului. În Office 2016, avem un alt efect: un buton de comutare "eliberat" este simbolizat de un fundal gri închis.

VBA scapă de aplatizarea vizuală

Din fericire, formularele VBA au păstrat în mod constant de-a lungul anilor aceleași butoane umbrite, realiste și alte controale tridimensionale.

Dacă trebuie să adăugați un control on-off (pornit-oprit) pe Panglică, puteți utiliza fie un control al casetei de selectare, fie un buton de comutare. Vizual, ambele informează utilizatorii despre starea lor: caseta de selectare cu o bifare și butonul de comutare prin schimbarea culorii și adăugarea unui cadru.

Oricare dintre aceste controale poate fi utilizat pentru situațiile cu două stări, cum ar fi permiterea utilizatorului să aleagă între text cursiv sau text necursiv. Iată un exemplu care arată cum să utilizați butonul de comutare. Când utilizatorul face clic pe el, butonul se activează și arată ca și cum ar fi fost apăsat pe Panglică. Când se face clic pe buton a doua oară, efectul de iluminare cu galben este dezactivat.

Procedura VBA poate detecta starea butonului – apăsată sau nu — examinând un argument boolean pe care l-am numit mai jos, care este transmis procedurii dvs. Iată cum se folosește în codul VBA:

Sub test(control As IRibbonControl, down As Boolean)
   If down Then 
      MsgBox "Buton apasat"
   Else
      MsgBox "Buton eliberat"
   End If
End Sub

Această procedură VBA va răspunde la următorul cod XML pe care îl puteți stoca în document utilizând UI Editor, așa cum este descris în diferitele exemple pas cu pas din această secțiune:

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
   <tabs>
      <tab id="t1" label="Execute">
         <group id="g1" label="Run Test">

<toggleButton id="tbutton1" 
   label="Click to Toggle" 
   imageMso="DeclineInvitation" 
   onAction="ThisDocument.test" />
         </group>
      </tab>
   </tabs>
</ribbon>
</customUI>