Păstrarea sau restaurarea mediului de utilizare

În multe cazuri, macrocomenzile vor rula fără să fie nevoie să schimbați mediul de utilizare, dar, dacă nu, restabiliți-l cât mai aproape de starea anterioară. Ce înseamnă exact acest lucru depinde de aplicația gazdă, dar iată câteva exemple de modificări ale mediului în Word, Excel și PowerPoint:

  • În Word: Schimbarea setării marcajului de revizuire (Track Changes), astfel încât să puteți schimba textul fără ca modificările să fie marcate ca revizii.
  • În Word sau PowerPoint: Schimbarea vizualizării într-o vedere diferită, astfel încât să puteți efectua operațiuni care nu pot fi efectuate în vederea originală.
  • În Excel: Crearea unei fișe de lucru temporare în care puteți manipula datele în siguranță, fără a mai fi necesar să verificați dacă sunt celule deja ocupate de datele utilizatorului.
  • În orice aplicație care vă permite să manipulați funcția Căutare și înlocuire (Find and Replace): Utilizați funcția Find and Replace pentru a identifica și / sau modifica părți ale unui document, apoi restaurați ultima căutare a utilizatorului, astfel încât funcția să poată fi folosită din nou fără probleme. Problema aici este că majoritatea aplicațiilor au setări de „Căutare și Înlocuire” care rețin parametrii aleși, pentru a permite utilizatorului să efectueze rapid aceeași operație de căutare sau înlocuire fără a reintroduce parametrii. Dacă ați înlocuit parametrii de căutare și înlocuire a utilizatorilor, ei ar putea avea un șoc neplăcut la următoarea încercare de a căuta sau înlocui. Acest lucru este valabil în special dacă ați activat unele caracteristici, cum ar fi Match Case. Data viitoare când utilizatorul încearcă să caute bucurești, nu va găsi nicio potrivire, chiar dacă documentul este despre România și conține cuvântul București. De ce? Pentru că macrocomanda a activat filtrul Match Case, iar utilizatorul nu a scris București când a inițiat căutarea. Eroare.

Puteți salva informațiile despre mediul utilizatorului, astfel încât să le puteți restaura la sfârșitul procedurii. Dacă procedura va modifica proprietatea Match Case din funcția Find and Replace, la începutul acestei proceduri salvați valoarea curentă folosită de utilizator în această proprietate într-o variabilă privată, o variabilă publică sau un obiect personalizat, după caz.

Apoi, la sfârșitul macrocomenzii, restaurați la proprietatea modificată temporar. Iată un exemplu:

Dim CaseStatus As Boolean 'parametrul match case poate fi activ sau inactiv
  CaseStatus = Selection.Find.MatchCase 'salveaza setarea utilizatorului 
  Selection.Find.MatchCase = True 'macrocomanda are nevoie de case-sensitive 
  ' executare instructiuni din macrocomanda
Selection.Find.MatchCase = CaseStatus 'restaurare preferinta utilizator