Pagina 1 di 1

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

MessaggioInviato: giovedì 25 gennaio 2018, 11:06
da Marilù
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

Re: Esporta selezione in PDF dando il nome del foglio

MessaggioInviato: giovedì 25 gennaio 2018, 14:27
da unlucky83
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

Re: Esporta selezione in PDF dando il nome del foglio

MessaggioInviato: venerdì 26 gennaio 2018, 20:23
da Marilù
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.

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

MessaggioInviato: sabato 27 gennaio 2018, 9:39
da patel
Ciao Marilù, vedo che hai fatto molti progressi con le macro, complimenti a te :super:

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

MessaggioInviato: sabato 27 gennaio 2018, 14:15
da Marilù
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...