Costruire una macro OpenOffice Calc in BeanShell

Postato da ROb | nella categoria Utilità | mercoledì, 20 gennaio 2010

0

Oggi ho avuto la necessità di scrivere una macro per OpenOffice Calc per gestire alcuni controlli e computazioni in un range di celle.
Sapevo che OpenOffice supporta BeanShell come motore di scripting (che conosco abbastanza bene) ed ho quindi deciso di provare a costruire la prima della mia nuova libreria di macro per OO.

Dopo aver consultato diverse pagine e fatto alcuni tentativi sono riuscito nel mio intento.

Come prima cosa bisogna creare la nostra libreria di macro BeanShell. Aprire quindi il percorso Tools => Macros => Organize Macros => BeanShell…

Macro BeanShell

Menu apertura macro BeanShell

Quindi creare una nuova libreria dentro il contenitore My Macros con il nome che volete.

Libreria macro BeanShell

Libreria macro BeanShell

A questo punto, nel caso usiate Linux, potete navigare all’interno della cartella situata dentro la vostra HOME chiamata ~/.openoffice.org2/user/Scripts/beanshell/nome_libreria/ .
Dentro questa cartella troverete un file meta di macro chiamato parcel-descriptor.xml che conterrà la definizione delle vostre macro.

Potete quindi aprirlo e modificarlo in questo modo:

<?xml version="1.0" encoding="UTF-8"?>
<parcel language="BeanShell" xmlns:parcel="scripting.dtd">
    <script language="BeanShell">
        <locale lang="en">
            <displayname value="replace_with_br.bsh"/>
            <description>replace_with_br.bsh</description>
        </locale>
        <logicalname value="replace_with_br.bsh"/>
        <functionname value="replace_with_br.bsh"/>
    </script>
</parcel>

In questo modo diremo a OpenOffice che nella nostra libreria ci sarà una macro chiamata replace_with_br.bsh .

Tale macro trasforma il contenuto delle celle non vuote di tipo stringa rimpiazzando i caratteri “\n” (a capo) con il tag html <br/> .

Infine scaricate il file replace_with_br.bsh.gz , scompattatelo e salvatelo all’interno della cartella della vostra libreria di macro.

Infine chiudete OpenOffice, riapritelo, selezionate un gruppo di celle con caratteri “\n” all’interno ed eseguite la macro.
Al termina del processo la macro vi avvertirà con un messaggio.
Mi raccomando non selezionate un’intera colonna, la macro non controlla un limite superiore di righe processate.

Scrivete pure per qualsiasi delucidazione o malfunzionamento.

Scrivi un commento