Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum1 -- CercaGlobale -- Informativa su Cookie e Privacy


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[RISOLTO]Creare PDF da celle selezionate>nominare>salvare>cartella pred>aprirlo
#1
Ciao,
In Calc (OpenOffice) devo creare un PDF ma solo per celle definite, nominarlo (il nome è in una cella del foglio), salvarlo in una determinata cartella, aprirlo per visionarlo ed eventualmente stamparlo.

Utilizzando il tasto 'crea PDF' mi crea il PDF di tutto il file (100 pag.) Disperato

Ora faccio tutto manualmente: Ho definito l'area di stampa poi File>Stampa>"MIO PROGRAMMA x PDF">Celle Selezionate>STAMPA>Salva con nome nella cartella>Apri PDF

E' possibile creare una macro che collegandola ad un pulsante che fa tutto ciò?

Grazie del vostro tempo e buona serata
caldo è bello, dolce è buono se ci metti anche un sorriso sei perfetto
Cita messaggio
Grazie da:
#2
Per esportare in pdf solo le celle :
File -> esporta come pdf -> spunta su selezione

   

Però se registro la macro quando la eseguo esporta in pdf tutto il documento
Marilù
Cita messaggio
Grazie da: Alessandro Moroni
#3
Grazie, Marilù

ma io quello che vorrei è il poter visualizzare solo determinate celle di un foglio e poi poterle salvare (come pdf) e stampare.
praticamente in Calc, oltre altre cose/pagine, ho anche un foglio (fattura) che vorrei una volta visualizzato stampare ed archiviare. il tutto fatto con una macro

grazie del tuo interessamento e buona giornata

alex
caldo è bello, dolce è buono se ci metti anche un sorriso sei perfetto
Cita messaggio
Grazie da:
#4
Se non vuoi visualizzare delle celle potresti formattale con il colore carattere bianco (come lo sfondo) e quando ti serve di visualizzarle torni al carattere nero, una macro fino qui ti funziona senz'altro, archiviare non lo so.
Se le celle da selezionare per nasconderle alla vista sono sempre le stesse quando registri la macro selezioni le celle così memorizza anche quali celle selezionare, altrimenti se ogni volta devi cambiare celle da nascondere devi per forza selezionarle ogni volta.
Marilù
Cita messaggio
Grazie da:
#5
prova questa macro
Codice:
sub EsportaSelezionePDF
 Dim mFilterData(0) As New com.sun.star.beans.PropertyValue
 oDoc = ThisComponent
 oSheet = oDoc.getCurrentController.ActiveSheet
 aSel = oDoc.getCurrentSelection.RangeAddress
 mFilterData(0).Name = "Selection"
 mFilterData(0).Value = oSheet.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()


 sUrl =  "file:///F:/Download/NOMEFILE.PDF" '<<<<<<<<<<<< da modificare
 ThisComponent.storeToURL(sURL, mStoreOpts())

end sub
Cita messaggio
#6
FUNZIONA!!!

La userò anch'ioWink
Marilù
Cita messaggio
Grazie da:
#7
(21-05-2016,06:52 )patel Ha scritto: prova questa macro
Codice:
sub EsportaSelezionePDF
 Dim mFilterData(0) As New com.sun.star.beans.PropertyValue
 oDoc = ThisComponent
 oSheet = oDoc.getCurrentController.ActiveSheet
 aSel = oDoc.getCurrentSelection.RangeAddress
 mFilterData(0).Name = "Selection"
 mFilterData(0).Value = oSheet.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()


 sUrl =  "file:///F:/Download/NOMEFILE.PDF" '<<<<<<<<<<<< da modificare
 ThisComponent.storeToURL(sURL, mStoreOpts())

end sub

GRAZIE, Patel

e.... come sempre perfetto  Smile

Funziona benissimo, con modifica come mi hai indicato.

Codice:
sUrl =  "file:///C:/Documents and Settings/Utente Ibm/Desktop/NS_FATTURA_2016/FATT 1.PDF" '<<<<<<<<<<<< da modificare
ThisComponent.storeToURL(sURL, mStoreOpts())

Forse chiedo troppo, sarebbe possibile anche far aprire il file pdf e rinominarlo? Prendendo i dati da una eventuale cella della selezione, in modo che mi esca ogni volta (come nel mio caso): FATT 1.PDF, FATT 2.PDF, ...ecc

Grazie e buona serata
caldo è bello, dolce è buono se ci metti anche un sorriso sei perfetto
Cita messaggio
Grazie da:
#8
se per esempio la cella col nome del file fosse G1 ed il numero progressivo in H1 la macro diventa
Codice:
sub EsportaSelezione_in_PDF
Dim mFilterData(0) As New com.sun.star.beans.PropertyValue
oDoc = ThisComponent
Sheet = oDoc.getCurrentController.ActiveSheet
aSel = oDoc.getCurrentSelection.RangeAddress
cellnome = Sheet.getCellRangeByName("G1").string ' <<< cella da dove prendere il nome
Sheet.getCellRangeByName("H1").value = Sheet.getCellRangeByName("H1").value + 1 ' <<< incremento numero fattura
cellnum = Sheet.getCellRangeByName("H1").string ' cella da dove prendere il nome
fname =  "file:///F:/Download/" & cellnome & " " & 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
Cita messaggio
#9
PERFETTO.
Grazie, Patel.
caldo è bello, dolce è buono se ci metti anche un sorriso sei perfetto
Cita messaggio
Grazie da:
#10
Codice:
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

Ciao,
Non è che capisco il linguaggio di programmazione ma dopo vari tentativi e prove ho modificato la macro di Patel in modo che dia il nome al pdf senza numero progressivo ma semplicemente prenda il nome da una cella
(es: pagina, grafico, indice.PDF ...).



NB: sostituire percorsofile con quello del pdf (che si sta per salvare) nella stessa cartella del documento di origine (altrimenti dà errore), sostituire A1 se il nome del pdf è scritto in un'altra cella , se si vuole che la cella col nome non venga stampata sul foglio è sufficiente dare il colore carattere bianco
Marilù
Cita messaggio
Grazie da:


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)