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
