Ascunderea grupului Clipboard de pe panglica Word

Pentru a vă face o idee despre cum puteți modifica Panglica, să presupunem că doriți să eliminați grupul Clipboard din fila Pornire (Home) de pe panglica din Word. Acest grup face lucruri pe care nu trebuie să le activați prin Panglică, cum ar fi tăierea, copierea, lipirea și format painting. Puteți decide dacă trebuie afișate aceste opțiuni, deoarece nu faceți clic pe ele prin intermediul mouse-ului. În schimb, utilizați comenzile rapide de la tastatură, ar fi Ctrl+C pentru copiere, Ctrl+V pentru lipire și așa mai departe. Format painting poate fi selectată printr-un meniu contextual care apare atunci când este selectat textul, sau se pot folosi combinații de taste Ctrl+Shift+C pentru copiere formatare și Ctrl+Shift+V pentru lipire formatare.

Astfel, grupul Clipboard devine inutil, doar se pierde spațiu valoros pe Panglică.

Pentru a ascunde grupul Clipboard din Panglică, urmați acești pași:

1. Mai întâi, descărcați un utilitar gratuit care lucrează mai ușor cu Panglica. Accesați

https://www.rondebruin.nl/win/winfiles/OfficeCustomUIEditorSetup.zip

și descărcați și instalați arhiva cu utilitarul Office Custom UI Editor. Extrageți conținutul fișierului zip și veți avea un fișier de instalare (.msi). Doar faceți dublu clic pe el pentru a instala Custom UI Editor.

2. Porniți Word.

3. Apăsați tastele Alt, F, N, (sau clic pe fila File, apoi pe opțiunea New). Apoi click pe șablonul pentru un document gol.

4. Apăsați Alt, F, A și salvați documentul ca RibbonMod.docm pe Desktop (sau în altă locație, de exemplu C:\temp pe care o puteți găsi ușor). Când se deschide caseta de dialog Save As, asigurați-vă că sub câmpul nume fișier, la tipul câmpului Save As scrie Word Macro- Enabled document (*.docm).

5. Apăsați tastele Alt, F, C pentru a închide documentul. Închiderea documentului este necesară deoarece dacă este încă deschis atunci când încercați să stocați codul XML în acesta (alegând File > Save din Editor particularizat pentru Microsoft Office), veți primi un mesaj de eroare.

DE CE AR TREBUI SĂ UTILIZAȚI TIPURILE DE FIȘIERE ACTIVATE PENTRU MACROCOMENZI

Rețineți că aveți posibilitatea să salvați documentul ca tip de fișier .docx implicit, dar în acest capitol veți utiliza întotdeauna tipul .docm activat pentru macrocomenzi (și celelalte tipuri cu “m“, cum ar fi .xlsm pentru fișiere Excel activate de macrocomandă și .pptm pentru PowerPoint). Aceste tipuri de fișiere pot include macrocomenzi și, în unele dintre exemplele din acest capitol, va trebui să scrieți proceduri pentru a gestiona evenimente - declanșate atunci când utilizatorul face clic pe un control pe care l-ați adăugat la Panglică.

6. Executați aplicația Custom UI Editor for Microsoft Office.

7. Alegeți File > Open.

8. Navigați până la fișierul RibbonMod.docm pe care l-ați salvat la pasul 4, și deschideți-l.

9. În panoul din dreapta a Custom UI Editor, tastați următorul cod XML:

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
  <ribbon>
    <tabs>
      <tab idMso="TabHome">
        <group idMso="GroupEditing" visible="false" />
      </tab>
    </tabs>
  </ribbon>
</customUI>

Identificatorii (idMso), imaginile (imageMso) și alte atribute din codul XML al Panglicii pot avea sufixul Mso. Mso este prescurtarea de la Microsoft Office și, atunci când este adăugată la un atribut, înseamnă că este încorporată (built-in). Deci, un tab cu un atribut idMso este una dintre filele care apar pe Panglică în mod implicit. Un tab cu un atribut id simplu este o filă nouă pe care ați adăugat-o la Panglică. De asemenea, un imageMso este unul dintre seturile de pictograme încorporate în Office 2016, dar image (fără Mso) este o pictogramă creată prin importul unui fișier grafic (a se vedea "Crearea propriilor pictograme" mai târziu în această secțiune).

Feriți-vă de caractere speciale

XML se va sufoca cu caractere speciale- se așteaptă text simplu fără ghilimele (numite citate inteligente) sau alte formate de lux. Dacă puteți folosi Notepad pentru a putea lipi codul, copiați codul din Notepad, și lipiți-l în VBA Editor sau Custom UI Editor. Când textul a fost copiat din Notepad, dispar toate caracterele speciale. Ghilimelele ondulate (care sunt două caractere distincte, pentru deschiderea și închiderea citatului) se transformă într-un singur caracter, cu nota de referință. Acest lucru este o modalitate destul de bună de a spăla textul.

Deci, cum se poate scăpa de anumite caractere, cum ar fi ghilimelele înclinate (“ și ”) cu care XML (și VBA Editor) nu pot lucra, înlocuindu-le cu ghilimele drepte(")? Sunt 3 metode, dar a treia este cea mai bună:

  1. Editați de mână fiecare caracter prin selectarea lui și apăsarea tastei ". Dacă apăsați această tastă în Notepad sau Code Editor, va apare caracterul corect " ghilimele duble drepte (nu înclinate).
  2. Dacă lucrați cu o bucată mare de cod cu mai multe ghilimele, lipiți-l în Notepad, apoi apăsați Ctrl+H pentru a deschide caseta de dialog Înlocuire. Lipiți unul dintre caracterele de ghilimele înclinate (“) în câmpul Find What, apoi faceți clic pe câmpul Replace WIth și apăsați tasta " . (Notepad utilizează în mod implicit caracterul de ghilimele drepte.) Rețineți că va trebui să repetați acest proces cu caracterul ghilimele înclinate (˝).
  3. Ce facem atunci când ne confruntăm cu o sarcină repetitivă și obositoare? Scrieți o macrocomandă. Iată o macrocomandă care deschide un document Word nou, necompletat, adaugă textul care trebuie schimbat, apoi face înlocuirile necesare:
1. Sub StraightenQuotes()
2. ' Inlocuieste ghilimelele inclinate cu ghilimele drepte
3.
4. On Error GoTo Problem
5. Dim aDO As DataObject
6. Set aDO = New DataObject
7. aDO.GetFromClipboard
8. aDO.GetText
9.
10. Dim bQuotesOn As Boolean
11. bQuotesOn = Options.AutoFormatAsYouTypeReplaceQuotes
12.
13. Options.AutoFormatAsYouTypeReplaceQuotes = False
14.
15. Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
16.
17. Selection.Paste
18.
19.   Selection.WholeStory
20.
21.   Selection.Find.ClearFormatting
22.   Selection.Find.Replacement.ClearFormatting
23.
24.   With Selection.Find
25.      .Text = ChrW(8221)
26.      .Replacement.Text = """" 
27.      .Wrap = wdFindStop
28.      .Forward = True
29.   End With
30.   Selection.Find.Execute Replace:=wdReplaceAll
31.
32.   Selection.Find.ClearFormatting
33.   Selection.Find.Replacement.ClearFormatting
34.
35.   With Selection.Find
36.      .Text = ChrW(8220)
37.      .Replacement.Text = """" 
38.      .Wrap = wdFindStop
39.      .Forward = True
40.   End With
41.   Selection.Find.Execute Replace:=wdReplaceAll
42.
43. Options.AutoFormatAsYouTypeReplaceQuotes = bQuotesOn
44.
45. Exit Sub
46.
47. Problem:
48. MsgBox "A aparut o problemă. Asigurați-vă că ați copiat un text în Clipboard înainte de a executa această macrocomandă."
49.
50. End Sub

Pentru a testa acest lucru, copiați doar un text care conține unele dintre aceste ghilimele înclinate nedorite în Clipboard-ul Windows (selectați textul, apoi apăsați Ctrl+C). Apoi executați macrocomanda. Iată ce face codul:

  • Linia 4 spune că, dacă ceva nu merge bine, sare în jos la eticheta numit Problem de la sfârșitul procedurii. Problema cea mai probabilă este că utilizatorul are un element grafic în Clipboard (a apăsat PrtScn, de exemplu), în loc să aibă text.
  • Liniile 5-8 preiau textul din Clipboard.
  • Liniile 10 și 11 salvează setarea utilizatorului pentru ghilimele inteligente, astfel încât să o putem restaura la sfârșitul macrocomenzii.
  • Linia 13 dezactivează caracteristica Smart Quotes din Word astfel încât atunci când în cod ghilimelele înclinate sunt înlocuite cu ghilimele drepte, Word va permite acest lucru. Linia 15 deschide un document nou, necompletat. Acest lucru este important, deoarece este posibil să lucrați și la un al doilea document text obișnuit în care doriți ghilimele inteligente.
  • Linia 17 lipește textul din Clipboard în documentul gol.
  • Liniile de la 21 până la 41 caută caracterele și fac înlocuirea. Amintiți-vă, acest cod trebuie executat de două ori, o dată pentru caracterele de deschidere a citatului și a doua oară pentru caracterele de închidere a citatului.
  • Linia 43 restabilește setarea utilizatorului pentru opțiunea Smart Quotes (Ghilimele inteligente).
  • Linia 45 iese din procedură, astfel încât să nu ajungă la rutina de tratare a erorilor după executarea cu succes a procedurii fără eroare.
  • Eticheta de pe linia 47 identifică codul rutinei de tratare a erorilor.
  • Linia 48 tratează eroarea, amintind utilizatorului că trebuie să existe text în Clipboard pentru ca această macrocomandă să funcționeze.

10. În Custom UI Editor, clic pe pictograma cu marcajul roșu de selectare.

Acest instrument validează codul XML (o caracteristică la îndemână).

Dacă nu vedeți mesajul "Custom UI XML is well formed," ați făcut o greșeală de scriere în codul XML sau ați inclus caractere speciale greșite. Reintroduceți-l (sau mai bine, copiați și lipiți-l de pe pagina web).

Dacă vedeți un mesaj de eroare care să ateste " "" is an unexpected token...," trebuie să modificați ghilimelele din codul XML pentru a le face drepte, nu înclinate - "smart", așa cum este descris în secțiunea intitulată FERIȚI-VĂ DE CARACTERE SPECIALE.

Trebuie să validați întotdeauna codul XML, deoarece dacă există o eroare de vreun fel, particularizarea Panglicii pur și simplu nu se va întâmpla. Nu va fi afișat niciun mesaj de eroare sau alt avertisment la executarea particularizării. Pur și simplu nu va funcționa. (În general, browserele și alte aplicații care folosesc XML, nu afișează mesaje de eroare dacă nu pot analiza (înțelege) XML. Dar nici nu afișează informațiile din XML.)

11. În Custom UI Editor, alegeți File > Save (care salvează documentul Word cu modificările aduse Panglicii), apoi selectați File > Exit pentru a închide UI Editor.

12. Acum, pentru a vedea efectul, deschideți documentul RibbonMod făcând clic pe fila File, apoi pe Open în Word. În lista de documente recente, alegeți RibbonMod.docm (sau faceți dublu clic pe acel nume de fișier în Explorer).

13. Dacă ați introdus codul XML corect, veți vedea o panglică ca cea din partea de jos a figurii următoare.

Liniile cheie din codul XML sunt acestea:

<tab idMso="TabHome">
<group idMso="GroupEditing" visible="false" />

Linia de cod care începe cu <tab specifică fila din Panglică pe care doriți să o modificați. În acest caz, este fila Home. Elementul de grup specifică grupul din fila pe care o vizați. În acest caz, este grupul Clipboard. În cele din urmă, codul specifică faptul că atributul vizibil al grupului Clipboard trebuie setat la False (Mai jos sunt descrise elementele și atributele XML.)

Decideți ce să includeți pe panglică

Programarea practică a panglicii poate necesita un pic de planificare. Când modificați Panglica, veți dori să includeți utilitare sau caracteristici pe care le utilizați frecvent și, probabil, să le ascundeți pe cele de care nu veți mai avea nevoie.

Iată un sfat util: planificarea informațiilor de pe Panglică este importantă. Observați că atunci când ați eliminat grupul Clipboard, Panglica a extins automat opțiunile vizibile pentru grupul Stiluri sau a eliberat în alt mod spațiu suplimentar. Deci, dacă doriți să adăugați unele opțiuni noi sau un nou grup (așa este descris mai târziu în acest capitol), puteți ascunde un grup de care nu aveți nevoie.

De asemenea, aplicațiile Office sunt software-ul matur și de acum conțin un număr destul de mare de caracteristici. Microsoft a trebuit să lase multe instrumente în afara Panglicii și care pot fi accesate cu clic pe pictograma săgeată mică care se află în partea din dreapta jos a multor grupuri panglică.

Dar este puțin probabil ca opțiunile Microsoft cu privire la ceea ce afișează sau ascunde să se potrivească complet preferințelor dvs. Pentru a vedea dacă lipsește o caracteristică din Panglica implicită Word pe care doriți să o adăugați, faceți clic cu butonul din dreapta pe Panglică și alegeți Particularizare panglică. Se deschide caseta de dialog Opțiuni Word. În lista verticală Choose Commands From, selectați Commands Not In The Ribbon. Veți vedea lista cu comenzile care nu se află pe Panglică.

Avertizare

Există o problemă majoră de care trebuie să știți atunci când lucrați cu codul XML. La proiectarea XML, s-a decis ca acest nou limbaj să fie sensibil la litere mari și mici. Această decizie a cauzat nenumărate probleme pentru programatori de-a lungul anilor. Este ușor de a genera bug-uri în limbajele care sunt sensibile la litere mari și mici. De exemplu, AceastaVariabila nu este la fel ca Aceastavariabila, chiar dacă acestea arată aproximativ la fel. În prima situație, litera V este majusculă, ceea ce înseamnă că cele două exemple se referă la două variabile complet diferite (chiar dacă, desigur, programatorul a intenționat să genereze o singură variabilă, dar accidental a tasta greșit). Și din moment ce cele două versiuni arată aproximativ la fel, poate fi dificil de a localiza și repara acest bug. Codul XML nu va funcționa dacă nu potriviți cu exactitate literele mari și mici. Validarea codului XML (așa am făcut mai devreme cu Custom UI Editor) poate semnala unele greșeli de scriere, dar nu pe toate.

Din fericire, VBA nu este sensibil la litere mari și mici, astfel încât nu trebuie să vă faceți griji cu privire la acest tip de eroare în codul VBA. Dar dacă primiți o eroare atunci când încercați să modificați Panglica utilizând XML, asigurați-vă că nu există o nepotrivire de caz undeva în tot acel cod. O regulă bună este de a utiliza pur și simplu literele mici atunci când scris codul XML. Dacă creați nume fără nicio majusculă și respectați peste tot această practică, veți evita depanarea.

Consultați secțiunea de la sfârșitul acestei secțiuni intitulată "Ce să căutați dacă lucrurile merg prost" pentru alte posibile probleme atunci când lucrați cu Panglica și XML.

Terminologie XML

Pentru a înțelege descrierile exemplelor de cod XML din acest capitol, trebuie să știți doar un pic mai multe despre XML.

În XML, ordinea elementelor contează. XML este ierarhic (cunoscut și ca imbricat sau arborescent), ceea ce înseamnă că trebuie să puneți elemente unul în interiorul celuilalt în ordinea corectă, ca și în cazul unui set de păpuși rusești.

Atunci când lucrați cu Panglica Microsoft, ordinea etichetelor elementului este Ribbon, tabs, tab, group, button (sau alt control), după cum puteți vedea în acest cod:

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
   <ribbon>
      <tabs>
         <tab idMso="TabView">
            <group id="CustomViewsGroup" label="Next Window" insertAfterMso="GroupWindow">
               <labelControl id="null"/>
               <button idMso="WindowNext"/>
            </group>
        </tab>
      </tabs>
   </ribbon>
</customUI>

Dacă încălcați această structură de imbricare - punând o etichetă group în afara unei etichete tag, de exemplu, veți primi un mesaj de eroare ("The name in the end tag must match the name in the start tag "):

<button idMso="WindowNext"/>
   </tab>
</group>

Sau, dacă omiteți una dintre etichetele de închidere (scrisă cu />), veți primi același mesaj de eroare (aici lipsește eticheta de închidere </tab>):

         </group>
      </tabs>

Utilizarea pictogramelor încorporate

"Galeriile" de imagini imageMso pot fi descărcate de pe această pagină web:

www.microsoft.com/downloads/details.aspx?FamilyID=2D3A18A2-2E75-4E43-8579-D543C19

D0EED&displaylang=e&displaylang=en?

Încărcați acest fișier .docx în Word. Alegeți Enable Editing dacă este cazul. Apoi veți vedea un mesaj misterios scris cu litere îngroșate: "Images are in the ImageMso 0 and ImageMso 1 tabs in the Backstage."

După ce faceți clic pe fila File, veți vedea două elemente noi listate în partea stângă sub Opțiuni: ImageMso 0 și ImageMso 1. Faceți clic pe acestea pentru a vedea o listă completă de pictograme și numele pe care le puteți utiliza pentru a face referire la ele în codul XML, astfel: imageMso="diamond".