[Risolto] Creare pulsante in Writer assegn. macro che copia

Creare una macro - Scrivere uno script - Usare le API
Rispondi
erasmo84
Messaggi: 24
Iscritto il: mercoledì 15 aprile 2020, 16:20

[Risolto] Creare pulsante in Writer assegn. macro che copia

Messaggio da erasmo84 »

Paragrafo da copiare e replicare
Paragrafo da copiare e replicare
Ciao a tutti , non riesco a creare un pulsante che attiva una macro in Writer. Questo pulsante deve copiare e ripetere una porzione di paragrafo ogni volta che viene premuto, grazie per l'aiuto.
Ultima modifica di charlie il lunedì 25 maggio 2020, 9:10, modificato 4 volte in totale.
Motivazione: Aggiunto [Risolto] e ✔ verde
OpenOffice 3.1 su mac os
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8803
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: creare pulsante in writer assegnado una macro che copia

Messaggio da charlie »

Ciao e benvenuto/a sul forum.
Se intanto ti vuoi presentare, farai cosa gradita. Puoi farlo in questa sezione -> viewforum.php?f=16
Se desideri avere una panoramica delle regole del forum puoi consultare il Manuale di sopravvivenza -> http://forum.openoffice.org/it/forum/vi ... hp?f=1&t=2

Buon proseguimento.

Per prima cosa correggi per cortesia il tuo primo post usando le regole grammaticali cominciando dalle maiuscole e dalla punteggiatura.
Evita inoltre di usare abbreviazioni tipo "nn".

Grazie per la collaborazione.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da patel »

Non è chiaro se non riesci a creare il pulsante o la macro o ambedue, allega un file di esempio.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
erasmo84
Messaggi: 24
Iscritto il: mercoledì 15 aprile 2020, 16:20

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da erasmo84 »

il pulsante è ok, non riesco a creare la macro per il pulsante, se guarda la foto è gia presente il pulsante.
Ultima modifica di erasmo84 il giovedì 16 aprile 2020, 13:57, modificato 1 volta in totale.
OpenOffice 3.1 su mac os
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da Gaetanopr »

Salve, è stato richiesto un file di esempio su cui lavorare non una foto.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8803
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da charlie »

erasmo84 ha scritto:il pulsante è ok non riesco a creare la macro per il pulsante, se guarda la foto è gia presente il pulsante
Ti invito nuovamente a rispettare le regole grammaticali, come da regolamento del forum, grazie.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
erasmo84
Messaggi: 24
Iscritto il: mercoledì 15 aprile 2020, 16:20

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da erasmo84 »

buonasera ,allego file di prova.
Allegati
prova.odt
(10.5 KiB) Scaricato 136 volte
OpenOffice 3.1 su mac os
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da patel »

Prova questa

Codice: Seleziona tutto

Sub CopiaPar
  doc = thiscomponent
  vc = doc.currentcontroller.viewcursor
  tc = doc.text.createtextcursorbyrange(doc.text.getstart)
  for i =1 to 8 ' 8 paragrafi
    tc.gotoNextParagraph(true)
  next
  doc.currentcontroller.select(tc)
  trans = doc.currentcontroller.gettransferable
  tc.gotorange(doc.text.getend,false)
  doc.currentcontroller.select(tc)
  doc.currentcontroller.inserttransferable(trans)
End Sub
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
erasmo84
Messaggi: 24
Iscritto il: mercoledì 15 aprile 2020, 16:20

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da erasmo84 »

buonasera, ho provato funziona in parte.Se sposto il testo mi replica sempre i paragrafi in alto. cosa devo modificare per selezionare un paragrafo specifico? Comunque grazie mille per la sua disponibilita.
OpenOffice 3.1 su mac os
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da patel »

La macro non l'ho fatta io, è sopra le mie possibilità, ma ero curioso ed ho chiesto in questo forum
http://forum.openoffice.org/en/forum/viewforum.php?f=20
puoi intervenire anche tu per ulteriori richieste.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da Gaetanopr »

Prova in questo modo, per effettuare la copia devi sempre selezionare, il ciclo for non serve più dato che deve copiare la selezione

Codice: Seleziona tutto

Sub CopiaPar
  doc = thiscomponent
  xx = doc.currentselection.getbyindex(0).Text '
  tc = xx.createtextcursorbyrange(xx.getstart)
 ' for i =1 to 8 ' 8 paragrafi
 '   tc.gotoNextParagraph(true)
 ' next
 ' doc.currentcontroller.select(tc)
  trans = doc.currentcontroller.gettransferable
  tc.gotorange(xx.getend,false)
 ' tc.gotorange(doc.text.getend,false)
  doc.currentcontroller.select(tc)
  doc.currentcontroller.inserttransferable(trans)
End Sub
Comunque una semplice macro registrata sarebbe bastata.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da patel »

erasmo84 ha scritto:....Questo pulsante deve copiare e ripetere una porzione di paragrafo ogni volta che viene premuto
Ciao Gaetano, la richiesta era questa, la selezione si perde dopo l'esecuzione della macro
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da Gaetanopr »

erasmo84 ha scritto: ..cosa devo modificare per selezionare un paragrafo specifico? Comunque grazie mille per la sua disponibilita.
Ciao patel, mi sono attenuto a questo.
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da patel »

La mia non è una critica, come si fà a salvare la selezione per poi continuare a incollare ?
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da Gaetanopr »

Si si lo so che la tua non era una critica, ho provato ad aggiungere questa parte alla fine ma mi seleziona tutto quindi le successive copie vengono moltiplicate.

Codice: Seleziona tutto

 tc.gotorange(xx.getstart,true)
   tc.gotorange(xx.getend,true)
   Doc.CurrentController.Select(tc)
PS : basta togliere la parte finale tc.gotorange(xx.getend,true) e funziona


riducendosi in questo modo

Codice: Seleziona tutto

Sub CopiaPar

  doc = thiscomponent
  xx = doc.currentselection.getbyindex(0).Text   
  tc = xx.createtextcursorbyrange(xx.getstart)   
  

  trans = doc.currentcontroller.gettransferable  

  doc.currentcontroller.select(tc)

  doc.currentcontroller.inserttransferable(trans)
 
 
   tc.gotorange(xx.getstart,true)
  ' tc.gotorange(xx.getend,true)
   Doc.CurrentController.Select(tc)

End Sub
Come non detto, ritorna sul primo e non su quello selezionato
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
erasmo84
Messaggi: 24
Iscritto il: mercoledì 15 aprile 2020, 16:20

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da erasmo84 »

ciao a tutti, non ho capito cosa voleva intendere nella sua risposta.
Comunque una semplice macro registrata sarebbe bastata.[/quote]
OpenOffice 3.1 su mac os
erasmo84
Messaggi: 24
Iscritto il: mercoledì 15 aprile 2020, 16:20

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da erasmo84 »

Ciao a tutti, forse non mi sono spiegato.Questo pulsante deve duplicare sempre un paragrafo che si trova in una determinatta posizione.Ho provato a registrare una macro ma dopo una volta non funzionava. quindi ho chiesto il vostro aiuto.Ho proato a cambiare il numero del paragrafo ma non funziona.
OpenOffice 3.1 su mac os
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da patel »

ti sei spegato bene, ma non riusciamo a farlo
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da patel »

prova così senza selezionare

Codice: Seleziona tutto

    Sub CopiaParag
    doc = thiscomponent
    vc = doc.currentcontroller.viewcursor
    tc = doc.text.createtextcursorbyrange(doc.text.getstart)
    pinizio = 3 ' paragrafo iniziale da copiare
    nrighe = 3 ' numero righe da copiare
    for i =1 to pinizio
      tc.gotoNextParagraph(false)
    next
    for i =1 to nrighe
      tc.gotoNextParagraph(true)
    next
    doc.currentcontroller.select(tc)
    trans = doc.currentcontroller.gettransferable
    tc.gotorange(doc.text.getend,false)
    doc.currentcontroller.select(tc)
    doc.currentcontroller.inserttransferable(trans)
    End Sub
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
erasmo84
Messaggi: 24
Iscritto il: mercoledì 15 aprile 2020, 16:20

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da erasmo84 »

Buongiorno a tutti, sembra funzionale la macro solo che assegnandola al pulsante non funziona. Sbaglio qualcosa?grazie a tutti per l'aiuto.
OpenOffice 3.1 su mac os
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da patel »

difficile risponderti senza vedere il file
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
erasmo84
Messaggi: 24
Iscritto il: mercoledì 15 aprile 2020, 16:20

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da erasmo84 »

patel ha scritto:difficile risponderti senza vedere il file
ciao funziona, avevo sbagliato io. ora una domanda.Se trasformo il file in pdf la macro funziona(cioè come pdf editabile)? grazie a tutti
OpenOffice 3.1 su mac os
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da patel »

Sicuramente NO
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da unlucky83 »

Le macro in pdf si perdono. Dovresti usare javascript e Adobe Acrobat la versione a pagamento per far funzionare delle “macro” su un pdf...che poi dovrebbero funzionare solo con alcuni lettori pdf
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
erasmo84
Messaggi: 24
Iscritto il: mercoledì 15 aprile 2020, 16:20

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da erasmo84 »

unlucky83 ha scritto:Le macro in pdf si perdono. Dovresti usare javascript e Adobe Acrobat la versione a pagamento per far funzionare delle “macro” su un pdf...che poi dovrebbero funzionare solo con alcuni lettori pdf
Ciao, come si usa lo javascript?scusa la mia inesperienza.grazie a tutti.
OpenOffice 3.1 su mac os
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da patel »

Con questa domanda sei fuori tema, devi rivolgerti ad un forum di Adobe.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da unlucky83 »

Scusato. Ti ho suggerito un'alternativa che non ho mai implementato. Mi sono solo documentato e poi ho rinunciato a mettere script all'interno di pdf editabili perchè per aggiungerli serve Acrobat Pro DC e una volta ottenuto il pdf non sò se le "funzionalità extra" del pdf funzionino sul semplice Acrobat reader. Tipicamente un pdf editabile viene preparato e condiviso...ma se l'altro utente non ha il giusto programma non potrà sfruttare a pieno il pdf così creato.
A questo link https://helpx.adobe.com/it/acrobat/usin ... -pdfs.html estraggo quanto segue:
Il linguaggio JavaScript è stato sviluppato da Netscape Communications come strumento per facilitare la creazione di pagine Web interattive. Adobe ha migliorato il linguaggio JavaScript per offrire agli utenti la possibilità di integrare questo livello di interattività nei propri documenti PDF.

È possibile richiamare il codice JavaScript usando azioni associate a segnalibri, link e pagine. Il comando Imposta azioni documento permette di creare azioni JavaScript a livello del documento, applicabili a tutto il documento. Se, ad esempio, si seleziona Il documento è stato salvato, il codice JavaScript viene eseguito dopo il salvataggio di un documento.

Per utilizzare JavaScript con moduli e azioni guidate è necessario disporre di Acrobat Pro DC.

In Acrobat Pro DC si può inoltre usare JavaScript con moduli PDF e azioni guidate. Le applicazioni più comuni per JavaScript nei moduli sono la formattazione, il calcolo e la convalida dei dati, nonché l’assegnazione di un’azione. Gli script a livello di campo sono associati a un campo o a campi modulo specifici, come ad esempio un pulsante. Questo tipo di script viene eseguito quando si verifica un evento, ad esempio l’azione di Mouse rilasciato.

Per informazioni sulla creazione degli script JavaScript, scaricare i manuali relativi a JavaScript dal sito Web di Adobe.
L'ultima frase può interessarti:
Per informazioni sulla creazione degli script JavaScript, scaricare i manuali relativi a JavaScript dal sito Web di Adobe.

p.s.
Sul forum sì è già accennato agli script in pdf editabili:
viewtopic.php?f=8&t=7575&p=40266&hilit= ... ipt#p40224
viewtopic.php?f=8&t=7519&p=39915&hilit= ... ipt#p39897
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da patel »

unlucky83 ha scritto:Ti ho suggerito un'alternativa che non ho mai implementato. Mi sono solo documentato e poi ho rinunciato .....
questo dice tutto sulla difficoltà dell'operazione anche per cose semplici, il tuo caso non è affatto semplice.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
erasmo84
Messaggi: 24
Iscritto il: mercoledì 15 aprile 2020, 16:20

Re: Creare pulsante in Writer assegnando una macro che copia

Messaggio da erasmo84 »

grazie a tutti per la vostra disponibilità.
OpenOffice 3.1 su mac os
Rispondi