Beppe, sei un tutorial umano! Grazie mille, questa tua mail è davvero
preziosa :)

Il ven 30 giu 2017, 00:03 beppe <[email protected]> ha scritto:

> Il 29/06/2017 12:26, Renato Pontefice ha scritto:
> > Sono quasi giunto alla fine del mio lavoro. Mi rimane solo da:
> > scrivere una cosa (per esempio "ciao" in una cella)
> > la macro, verra poi eseguita premendo un pulsante.
> >
> > Quale è la sintassi per fare questa cosa?
> > Nel senso:
> > quale codice deve contenere la macro che esegue la cosa?
> >
> > Grazie
> >
> > Renato
> >
> Per imparare ad usare le macro ho usato questo libro e tante ricerche su
> internet:
> http://www.pitonyak.org/OOME_3_0.pdfpagina 470 (473)
> http://www.pitonyak.org/oo.php
> e non le so ancora usare bene...
>
> prova a registrare una macro per capire come funzionano:
> (per poterlo fare bisogna attivare in Strumenti->Opzioni->Avanzate
>   Abilita le funzionalita' sperimentali e Abilita la registrazione di
> macro)
>
> da: Strumenti->Macro->Registra_macro
> fai un click sulla cella B6
> scrivi prova
> premi invio
> sulla finestrella apparsa quando hai scelto Registra_macro fai click su
> termina registrazione
> appare la finestra Macro di LibreOfficeBasic
> scegli registra macro in: fai click sul + del nome del file di prova che
> stai usando
> click sul + di standard e in basso a destra scegli nuovo_modulo
> vuoi sovrascrivere la macro main rispondi si
> a questo punto la macro e' registrata.
>
> da: Strumenti->Macro->Organizza_macro->LibreOfficeBasic
> scegli Module1->Modifica
> qui modifichi sub Main in sub Scrivi_su_cella_corrente
>
> sub Scrivi_su_cella_corrente
> rem in realta' non scrive nella cella corrente, ma in B6 -----------------
>
> rem define variables -----------------------------------------------------
> dim document   as object
> dim dispatcher as object
>
> rem get access to the document -------------------------------------------
> document   = ThisComponent.CurrentController.Frame
> dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
>
> rem ---va alla cella B6 -------------------------------------------------
> dim args1(0) as new com.sun.star.beans.PropertyValue
> args1(0).Name = "ToPoint"
> args1(0).Value = "$B$6"
>
> dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
>
> rem ---scrive nella cella corrente prova ---------------------------------
> dim args2(0) as new com.sun.star.beans.PropertyValue
> args2(0).Name = "StringName"
> args2(0).Value = "prova"
>
> dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2())
>
> rem ---premendo invio va alla cella successiva ---------------------------
> dispatcher.executeDispatch(document, ".uno:JumpToNextCell", "", 0, Array())
>
> end sub
>
> Se vuoi scrivere nella cella corrente sostituisci la riga:
> args1(0).Value = "$B$6"
> con
> args1(0).Value = ThisComponent.CurrentSelection
>
> le righe con rem sono i commenti.
> Le macro che scrivi le puoi salvare in formato testo con il pulsante
> salva_basic
> e le salva in formato .bas
>
> Per abbinarla ad un pulsante della barra standard nel file stesso
> Strumenti->Personalizza->Barre_degli_strumenti->standard
> Aggiungi
> in Sezione scendi fino a LibreOffice-Macro click su + e su Standard e su
> Module1
> in Comandi scegli Scrivi_su_cella_corrente
> e ti appare Scrivi_su_cella_corrente sulla barra degli strumenti standard.
>
> se vuoi puoi usare un'icona sempre da personalizza->barra_strumenti
> scegli la nuova voce aggiunta poi cambia->cambia_icona
>
> Spero di aver capito cosa avevi bisogno.
>
> Scusa se ti ho mandato una mail con spiegazione passo passo,
> ma non sapevo come conoscevi LibreOffice.
>
> ciao
> Beppe
>
> --
> le nuvole non hanno regole,
> perchè non hanno mai rinunciato
> alla libertà di sognare.
>
>
> --
> Come cancellarsi: E-mail [email protected]
> Problemi?
> http://it.libreoffice.org/supporto/mailing-lists/come-cancellarsi/
> Linee guida per postare + altro:
> http://wiki.documentfoundation.org/Local_Mailing_Lists/it
> Archivio della lista: http://listarchives.libreoffice.org/it/users/
> Tutti i messaggi inviati a questa lista vengono archiviati pubblicamente e
> non sono eliminabili
>

-- 
Come cancellarsi: E-mail [email protected]
Problemi? http://it.libreoffice.org/supporto/mailing-lists/come-cancellarsi/
Linee guida per postare + altro: 
http://wiki.documentfoundation.org/Local_Mailing_Lists/it
Archivio della lista: http://listarchives.libreoffice.org/it/users/
Tutti i messaggi inviati a questa lista vengono archiviati pubblicamente e non 
sono eliminabili

Rispondere a