Notă – nu îmi asum eventualele probleme care pot apărea în urma folosirii unui macro!
În general, mă feresc de asemenea cuvinte – „trebuie” / „e obligatoriu” / „neapărat-neapărat”. În cazul de față, însă, discut despre un macro care e, nici mai mult nici mai puțin, decât obligatoriu.
Anume, în Microsoft Word, înlocuirea ” ” (spațiu spațiu) cu ” ” (spațiu).
Motivația?
- Este o eroare relativ dificil de depistat, e ușor să sari peste un cuvânt care e separat de dublu spațiu, față de situația de a nu observa un cuvânt care e tastat greșit.
- În Microsoft Word, cu setările implicite, nu ești notificat – „hei, vezi că ai o eroare – ai scris cu dublu spațiu”. Poți trăi cu eroarea foarte bine.
- La documente foarte lungi, eroarea e inevitabilă. Dacă scrii o carte de 300 de pagini, vei avea și cuvinte separate prin dublu spațiu.
- Cum ar fi să poți să scrii documentul, apeși un buton, și să se rezolve totul, în mod automat?
Cum se face?
- Soluția banală e să înregistrezi (cu record) un macro și să atașezi acel macro, pentru acces facil, pe toolbar. Apoi, de fiecare dată când termini de scris un document, lansezi macro-ul și funcția Search & Replace se va lansa automat. Pac! Apeși un buton și, în tot documentul, dublu spațiu va fi înlocuit cu spațiu.
- Pentru a înregistra un macro, în Microsoft Word 2007/2010/2013, soluția e să apeși:
În variantele anterioare de Word, Tools => Macro => Record new macro. - Apoi, e cazul să dai un nume macro-ului și atașezi acel macro pe toolbar, ca să îl accesezi ușor ulterior. Așa se face în variantele mai noi de Word:
, iar pentru variantele anterioare soluția e similară. Dacă nu vă descurcați, creați macro-ul, apoi click dreapta pe toolbar, și customize și faceți să apară în toolbar macro-ul creat. Detalii. - Acum macroul se înregistrează. Ce să facă însă? Eu i-am dat un search & replace, în tot documentul, după ” ” (dublu spațiu) cu ” „. Ca mai jos:
Am dat apoi, din același meniu unde am lansat înregistrarea macro-ului, să se oprească înregistrarea (stop recording). - Rezultatul final?
Pot apăsa butonul de pe toolbar și, foarte simplu, se face înlocuirea automată. - Eu fac back-up al macro-urilor mele, din când în când. Merg la Organizer… și copiez macro-urile într-un document word, salvez documentul, iar după o reinstalare de Windows, tot ce am de făcut e să deschid documentul și la Organizer să copiez dinspre document înspre fișierul Normal.dot.
Macro-uri de genul acesta pot fi următoarele:
- Macro care să te „scape” de diacritice. Ai un text cu diacritice, faci un macro care înlocuiește ș cu s, Ș cu s (atenție! de bifat „Match Case”). Detalii.
- Un macro care să înlocuiască ” ,” (spațiu înainte de virgulă) cu „,” (fără acel spațiu). Sau spațiu înainte de punct (” .” cu „.”). Iarăși, poți avea un macro care să înlocuiască linia de despărțire cuvinte „-” cu linie mare „–”. Din păcate, exemplele de la aceste puncte pot duce la erori. Poate vreau să scriu un număr de forma .31 (fără 0 în față). Sau poate am lăsat spațiu înainte de virgulă după emoticon „:) ,”, în mod intenționat. Sau poate eu înlocuiesc liniile – cu linii mari –, dar uneori acele linii nu sunt separate prin spațiu: „afară – și aici îmi era frică -, nu am mai mers” – acest text va da eroare la a doua „-„, pentru că nu e ” – „, ci e ” -,”. Și poate fi problematic să ai un macro care să funcționeze „aproape” constant. Nu vrei asta. :) La fel, ghilimelele. Sunt de mai multe tipuri – „citat” / „citat” / «citat» / “citat”. Nu poți deloc ușor să faci un macro care să se descurce cu ghilimele în cadrul altor ghilimele, care să știe să lucreze și cu ghilmele care nu au spații („afară”/”în interior”). E foarte dificil. În cazul ăsta, un macro e dificil de creat.
- În schimb, soluția mea, cu înlocuire dublu spațiu cu spațiu ar trebui să fie, more or less, fără gafe. De unde și termenul de „macro obligatoriu”.
Ultima modificare în: 30 octombrie 2021, la ora: 10:34.
Partajează pe WhatsApp
Sau poti invata putin VBA ca sa scrii tu codul pentru macro, iar cand il scrii excluzi cazurile in care n-ai vrea sa faca inlocuirea. :)
Mersi de idee.
Ideea e că apar excepții și excepții la excepții. De exemplu:
Astăzi – într-o „dimineață”, poate – am plecat cu gândul meu („uitat, oare? «recunosc» că greșesc”)
poate fi scris, în mod greșit:
Astăzi – într-o „dimineață”, poate – am plecat cu gândul meu (uitat, oare? «recunosc» că greșesc”)
Sau:
Nu îmi plac „ghilmelele” – „””.
E foarte greu să faci un macro care să se gândească la toate situațiile, posibile și imposibile. În exemplul meu, odată cineva a uitat să pună ghilimele, iar în al doilea caz „”” e ceva corect, dar greu de programat ca exemplu.