Ací deixe l'anonimitzador versió 1.0, que es tracta d'una macro que he fet amb BASIC que anonimitza dades sensibles de caràcter personal des de l'editor LibreOffice.
La idea és poder redactar documents odt amb LibreOffice i escriure manualment unes marques entre les dades sensibles que vullguem anonimitzar. En el meu cas he utilitzat la barra / doble, aleshores escriurem //lo_que_siga// per a marcar-lo com a dada sensible.
Ara anirem a l'editor de macros BASIC i escriurem la nostra macro que podrem executar des del menú Herramientas o, en el meu cas, m'he vinculat May+F7 a la meua macro, aleshores transforme el document molt fàcilment.
D'aquesta manera tenim dos documents: el document odt original i un segon document amb les dades sensibles anonimitzades i llestes per a enviar o imprimir.
El codi de la macro és:
REM ***** BASIC *****
.
Sub Anonimitza
.
REM Replaces all Paragraph breaks with a Linefeed character within the current Writer document.
REM Returns: the number of found/replaced occurrences.
Dim oReplace as Object
oReplace = ThisComponent.createReplaceDescriptor()
oReplace.setSearchString( "\//+[A-Z0-9@-àòèáéíóúç.([:space:])]+\//" )
oReplace.setReplaceString( "[__ANONIMITZAT__]" )
oReplace.SearchRegularExpression = True
Writer_ReplaceAll_Paragraph_Breaks_With_Linefeeds = ThisComponent.replaceAll( oReplace )
.
MsgBox("El teu document ja està anonimitzat")
End Sub
.
Sub Main
.
End Sub
Per fer la macro, cal estudiar un poquet el funcionament de les expressions regulars que pots trobar a https://help.libreoffice.org/Common/List_of_Regular_Expressions
I finalment, ací tens un video del seu funcionament: