Un macro obligatoriu – înlocuire spațiu dublu ” ” cu spațiu simplu ” “

Î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:
    record-macro
    Î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:
    set-as-toolbar
    , 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:
    what to replace
    Am dat apoi, din același meniu unde am lansat înregistrarea macro-ului, să se oprească înregistrarea (stop recording).
  • Rezultatul final?
    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.
    copy

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”.

I am a Freelancer. My expertise is in SEO (Search Engine Optimization) / UX (user experience) / WordPress. Co-founder of lumeaseoppc.ro (series of events on SEO & PPC) and cetd.ro (Book on branding for MDs). On a personal level, I like self-development - events, sports, healthy living, volunteering, reading. I live in London, and lots of things live in me.

3 Comments

  • brontozaurel

    27 January 2013 - 13:23

    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. :)

  • Olivian Breda

    27 January 2013 - 13:27

    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.

Leave a comment

Your email address will not be published.