Pannello di Controllo Moderatore ]

[Risolto] Esporta selezione in PDF dando il nome del foglio

Creare una macro - Scrivere uno script - Usare le API

[Risolto] Esporta selezione in PDF dando il nome del foglio

Messaggioda Marilù » giovedì 25 gennaio 2018, 11:06

Buongiorno a tutti,

come faccio a trasformare questa macro, che esporta la selezione in Pdf, nominando tale pdf in base al contenuto di un determinata cella;

in una macro che esporta la selezione chiamando il pdf con il nome del foglio di Calc (senza bisogno di scrivere prima il nome in una cella)

La macro, (ripresa da questa discussione http://www.istitutomajorana.it/forum2/T ... ht=esporta )
sarebbe questa:

Codice: Seleziona tutto   Espandi visualeStringi visuale
REM ***** BASIC *****


sub EsportaSelezione_in_PDF
Dim mFilterData(0) As New com.sun.star.beans.PropertyValue
oDoc = ThisComponent
Sheet = oDoc.getCurrentController.ActiveSheet
aSel = oDoc.getCurrentSelection.RangeAddress
cellnum =Sheet.getCellRangeByName("A1").string
fname ="file:///percorsofile/ " & cellnum & ".PDF" ' <<< nome del file
mFilterData(0).Name = "Selection"
mFilterData(0).Value = Sheet.getCellRangeByPosition(aSel.StartColumn, aSel.StartRow, aSel.EndColumn, aSel.EndRow)


'parametri di esportazione
Dim mStoreOpts(2) As New com.sun.star.beans.PropertyValue
mStoreOpts(0).Name = "Overwrite"
mStoreOpts(0).Value = True
mStoreOpts(1).Name = "FilterName"
mStoreOpts(1).Value = "calc_pdf_Export"
mStoreOpts(2).Name = "FilterData"
mStoreOpts(2).Value = mFilterData()
ThisComponent.storeToURL(fname, mStoreOpts())


end sub


dove credo vada cambiata la riga
fname ="file:///percorsofile/ " & cellnum & ".PDF" ' <<< nome del file
e metterci
fname="file:///percorsofile/ "& comando che indichi in nome del foglio ".PDF" '

Ho visto questo http://www.claudiotomasoni.it/wordpress/worksheet-name/ ma non so come utilizzarlo.

Grazie
Ultima modifica di charlie il sabato 27 gennaio 2018, 19:41, modificato 3 volte in totale.
Motivazione: Aggiunta spunta verde
Avatar utente
Marilù
 
Messaggi: 14
Iscritto il: sabato 21 dicembre 2013, 15:15

Re: Esporta selezione in PDF dando il nome del foglio

Messaggioda unlucky83 » giovedì 25 gennaio 2018, 14:27

Se cerchi nel forum trovi qualcosa in merito, per esempio c’è questa discussione
https://forum.openoffice.org/it/forum/v ... pdf#p39726
Nella Macro ci sono le due righe di codice per estrarre il nome del documento
LibO5.1.6.2-Ubuntu 16.04.2 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio
Avatar utente
unlucky83
Volontario
Volontario
 
Messaggi: 1965
Iscritto il: lunedì 7 gennaio 2013, 2:23
Località: Latina

Re: Esporta selezione in PDF dando il nome del foglio

Messaggioda Marilù » venerdì 26 gennaio 2018, 20:23

Ecco la nuova macro:

Codice: Seleziona tutto   Espandi visualeStringi visuale
sub Selezione_in_PDF_con_nome_del_foglio
Dim mFilterData(0) As New com.sun.star.beans.PropertyValue
oDoc = ThisComponent
Sheet = oDoc.getCurrentController.ActiveSheet
aSel = oDoc.getCurrentSelection.RangeAddress
fname ="file:///home/utente/percorso/cartella/ " & ThisComponent.getCurrentController.getActiveSheet.Name & _
  ".PDF" ' <<< nome del file
mFilterData(0).Name = "Selection"
mFilterData(0).Value = Sheet.getCellRangeByPosition(aSel.StartColumn, aSel.StartRow, aSel.EndColumn, aSel.EndRow)

'parametri di esportazione
Dim mStoreOpts(2) As New com.sun.star.beans.PropertyValue
mStoreOpts(0).Name = "Overwrite"
mStoreOpts(0).Value = True
mStoreOpts(1).Name = "FilterName"
mStoreOpts(1).Value = "calc_pdf_Export"
mStoreOpts(2).Name = "FilterData"
mStoreOpts(2).Value = mFilterData()
ThisComponent.storeToURL(fname, mStoreOpts())
end sub


La parte file:///home/utente/percorso/cartella/ va personalizzata con il proprio percorso cartella (siccome uso Ubuntu, non so se se su Windows il percorso si indichi alla stessa maniera)

La differenza con la macro di Patel nel mio primo post è che quest'ultima prende il nome da quello del foglio, senza che ci sia bisogno di scriverlo prima in una cella.

Il comando per il nome del foglio l'ho trovato qui:
https://www.debugpoint.com/2015/08/expo ... ing-macro/
Però la macro nel link ha il difetto che esporta le celle in un range predefinito (es da A1 a F20) mentre in quella di Patel la selezione può variare e riesce ad esportare in PDF le celle che sono state selezionate.
Ultima modifica di Marilù il sabato 27 gennaio 2018, 19:02, modificato 1 volta in totale.
Avatar utente
Marilù
 
Messaggi: 14
Iscritto il: sabato 21 dicembre 2013, 15:15

Re: [Risolto ] Esporta selezione in PDF dando il nome del fo

Messaggioda patel » sabato 27 gennaio 2018, 9:39

Ciao Marilù, vedo che hai fatto molti progressi con le macro, complimenti a te :super:
-------------------
OpenOffice 4.1 e Libre Office 6.o.7.3 su Windows 10
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
patel
Volontario attivo
Volontario attivo
 
Messaggi: 3167
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: [Risolto ] Esporta selezione in PDF dando il nome del fo

Messaggioda Marilù » sabato 27 gennaio 2018, 14:15

Grazie Patel.
da autodidatta, confronto le varie macro che trovo in giro, spulciando nei vari blog e cerco di capire cosa fanno i vari comandi.
Ho visto che c'è una guida https://wiki.openoffice.org/wiki/IT/Doc ... e/Language ma ho letto finora solo due capitoli...
Avatar utente
Marilù
 
Messaggi: 14
Iscritto il: sabato 21 dicembre 2013, 15:15


Torna a Macro e UNO API

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite