Macro per salvare selezione in PDF con nome file da cella

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
ilariokov
Messaggi: 3
Iscritto il: giovedì 23 febbraio 2012, 18:18

Macro per salvare selezione in PDF con nome file da cella

Messaggio da ilariokov »

Buongiorno,
ho Open Office 3.2.1
Sto cercando di risolvere un problema con una macro per Calc.

Ho un file con 8 fogli.
Vorrei creare una macro che mi salvi in PDF delle celle selezionate (G33:O81) prese esclusivamente nel foglio chiamato "DC", salvando in automatico il file con un nome preso dalla cella I24 (sempre foglio "DC").

Ho spulciato molti forum in italiano/inglese/francese ma ogni volta che sono vicino alla soluzione la macro salva tutti i fogli del file e non solo le celle selezionate del dato file. Oppure mi apre la pagina del salvataggio del PDF. Sto impazzendo (lo so è ignoranza).

Grazie per l'aiuto.
OpenOffice 3.2.1. su Window XP Home Edition ver. 2002 Service Pack 3
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da patel »

allega la macro che hai fatto, magari troviamo qualche errore
-------------------
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
ilariokov
Messaggi: 3
Iscritto il: giovedì 23 febbraio 2012, 18:18

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da ilariokov »

ok ho risolto. C'era un problema di aree di stampa degli altri fogli. Le ho deselezionate visto che non devo mai stamparle.
Posto comunque la macro per conoscenza e per eventuali consigli/miglioramenti:
________________________________________________________________________________________________________
REM ***** BASIC *****

sub export_pdf
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$G$33:$o$81"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(2) as new com.sun.star.beans.PropertyValue
Dim Cel As Object
Dim Werkblad As Object
Dim Werkmap As Object

Werkmap=ThisComponent
Werkblad=Werkmap.Sheets.getByName("DC")
Cel=Werkblad.getCellByposition(8,8) 'I9


args2(0).Name = "URL"
args2(0).Value = "file:///C:/Documents and Settings/PDF/"& Cel.getString()&".pdf"
args2(1).Name = "FilterName"
args2(1).Value = "calc_pdf_Export"
args2(2).Name = "FilterData"
args2(2).Value = Array(Array("UseLosslessCompression",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Quality",0,90,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ReduceImageResolution",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("MaxImageResolution",0,300,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseTaggedPDF",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SelectPdfVersion",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportNotes",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportBookmarks",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("OpenBookmarkLevels",0,-1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseTransitionEffects",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsSkipEmptyPages",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsAddStream",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FormsType",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportFormFields",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerToolbar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerMenubar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerWindowControls",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ResizeWindowToInitialPage",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("CenterWindow",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("OpenInFullScreenMode",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("DisplayPDFDocumentTitle",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("InitialView",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Magnification",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Zoom",0,100,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PageLayout",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FirstPageOnLeft",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("InitialPage",0,1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Printing",0,2,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Changes",0,4,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EnableCopyingOfContent",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EnableTextAccessForAccessibilityTools",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportLinksRelativeFsys",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PDFViewSelection",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ConvertOOoTargetToPDFTarget",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportBookmarksToPDFDestination",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("_OkButtonString",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EncryptFile",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("DocumentOpenPassword",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("RestrictPermissions",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PermissionPassword",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Selection",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE))

dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args2())



end sub

________________________________________________________________________________________________________

Grazie per l'attenzione
Ilario
OpenOffice 3.2.1. su Window XP Home Edition ver. 2002 Service Pack 3
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da patel »

ma non potevano renderlo un po' più semplice questo basic ? il VBA è molto più amichevole.
-------------------
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
ilariokov
Messaggi: 3
Iscritto il: giovedì 23 febbraio 2012, 18:18

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da ilariokov »

Non saprei,
io sono a digiuno di Macro, Basic e VBA. Mi limito a copiare, capire qualcosa e modificare secondo necessità.
GRAZIE in ogni caso per l'attenzione.
OpenOffice 3.2.1. su Window XP Home Edition ver. 2002 Service Pack 3
Avatar utente
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da Mizio1961 »

E' solo una questione di abitudine e di flessibilità nel pensiero.
L'ambiente OO si basa 'purtroppo' sulla filosofia che regna nel mondo Unix in generale:"L'elaboratore è lo strumento che deve fare ciò che l'utente gli dice di fare senza prendere iniziative personali"
Questo significa che l'utente, il programmatore o qualsiasi altra figura deve dare tutte le informazioni al programma per farlo funzionare.
In VBA invece alcune decisioni vengono prese arbitrariamente dall'ambiente di sviluppo. Un esempio stupido: in VBA se vuoi acquisire il testo di una Cella di Excel basta che scrivi TESTO = ActiveCell (al posto di TESTO = Application.ActiveCell.Text) e VBA associa a TESTO il contenuto della Cella a riga 1 colonna 1 del foglio corrente all'interno del file corrente.
In Calc di OO invece devi dirgli dove stai e cosa vuoi dalla misera 'cella' e la stessa riga di programma diventa TESTO = ThisComponent.CurrentSelection.String
Tutto qui...
Perseverate... OO è e rimane un SW libero e 'gratuito'
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da patel »

Da quando è nato Linux ha fatto molti passi avanti per venire incontro all'utente e rendergli la vita più facile, OO dovrebbe fare lo stesso, altrimenti solo pochi utenti "flessibili" abbandoneranno MsOffice. Io non dico di copiare il VBA, ma almeno evitare cose del genere

Codice: Seleziona tutto

args2(0).Name = "URL"
args2(0).Value = "file:////home/andrea/Scrivania/"& Cel.getString()&".pdf" ' nome del file completo di path
args2(1).Name = "FilterName"
args2(1).Value = "calc_pdf_Export"
args2(2).Name = "FilterData"
args2(2).Value = Array(Array("UseLosslessCompression",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Quality",0,90,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ReduceImageResolution",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("MaxImageResolution",0,300,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseTaggedPDF",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SelectPdfVersion",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportNotes",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportBookmarks",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("OpenBookmarkLevels",0,-1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseTransitionEffects",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsSkipEmptyPages",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsAddStream",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FormsType",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportFormFields",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerToolbar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerMenubar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerWindowControls",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ResizeWindowToInitialPage",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("CenterWindow",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("OpenInFullScreenMode",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("DisplayPDFDocumentTitle",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("InitialView",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Magnification",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Zoom",0,100,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PageLayout",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FirstPageOnLeft",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("InitialPage",0,1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Printing",0,2,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Changes",0,4,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EnableCopyingOfContent",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EnableTextAccessForAccessibilityTools",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportLinksRelativeFsys",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PDFViewSelection",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ConvertOOoTargetToPDFTarget",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportBookmarksToPDFDestination",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("_OkButtonString",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EncryptFile",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("DocumentOpenPassword",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("RestrictPermissions",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PermissionPassword",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Selection",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE))

dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args2())
-------------------
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
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da Mizio1961 »

Vedo dalla firma che operi su Ubuntu con LibreOffice, quindi è probabile che stai facendo delle considerazioni simili a quelle che hanno spinto me verso OO. Ho provato diverse volte a spostarmi verso l'ambiente opensource e devo ammettere che è difficile lasciare la strada intrapresa.
Purtroppo il registra macro di OO si basa su un sistema astruso per chi proviene da Office VBA ma estremamente semplice del tipo: "Prendi questo messaggio e fallo processare dal servizio giusto"
E' come una macchina o una moto nuova o altro di nuovo che ti costringe a imparare regole simili ma non uguali a quelle che usavi con la macchina vecchia. Dopo un pò ti abitui, sai dove trovare le info che ti occorrono e 'guidi' meglio di prima.
L'importante è l'idea di affrontare nuove esperienze, il resto verrà di conseguenza; forse non oggi ma prima o poi...
;)
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da patel »

Mizio1961 ha scritto: Purtroppo il registra macro di OO si basa su un sistema astruso per chi proviene da Office VBA
Vuoi dire che è comunque possibile creare macro con una sintassi più umana indipendentemente dal registratore ?
-------------------
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
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da Mizio1961 »

Io ho iniziato a programmare quando di tradotto in italiano c'era poco o nulla e allora ho imparato a leggere dall'inglese. Così faccio anche in questo nuovo ambiente mettendo insieme le info che acquisisco da:
- wiki di openoffice a partire dall'indirizzo http://wiki.services.openoffice.org/wiki/Main_Page
- da questo forum in continuo aggiornamento
- dall'uso del debugger dal quale riesco a estrapolare le proprietà degli oggetti che mi occorrono e capire le gerarchie esistenti fra i vari oggetti
Così dopo i primi tempi un pò incerti ora ho acquisito almeno la consapevolezza che riesco a fare le stesse implementazioni che faccio in office.
Oltretutto mano a mano che approfondisco le mie conoscenze di questo ambiente riduco sempre di più il numero di modifiche che devo fare alle mie macro VBA per portarle su Basic e in alcuni casi ho avuto modo di snellire il codice perchè il sistema che si usa in Basic risulta (certe volte eh) più semplice.
Quindi al lavoro... anzi alla tastiera. Prova, riprova, sbatti la testa sul problema, cerca dritte in rete, chiedi aiuto, dai aiuto e vedrai che piano piano si arriva a soluzione.
Saluti
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da patel »

Mizio1961 ha scritto: Oltretutto mano a mano che approfondisco le mie conoscenze di questo ambiente riduco sempre di più il numero di modifiche che devo fare alle mie macro VBA per portarle su Basic e in alcuni casi ho avuto modo di snellire il codice perchè il sistema che si usa in Basic risulta (certe volte eh) più semplice.
potresti fare un esempio abbastanza semplice ?
oppure mi trasformi questa semplicissima macro vba

Codice: Seleziona tutto

Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1
Sub Macro2()
' ----------- cancella le celle vuote sulla colonna a partire dalla cella attiva -------------
   For i = 1 To 100
      nomecella = ActiveCell.Value
      If nomecella = "" Then
        Selection.Delete
      else
        ActiveCell.Offset(1, 0).Activate ' si sposta di 1 riga
      End If
   Next
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
Avatar utente
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da Mizio1961 »

E' possibile sfruttare il registratore macro e la conoscenza del lavoro a oggetti per risolvere i problemi, ad esempio come nel caso che mi hai sottoposto.
Non conosco ancora il sistema di muovermi di cella in cella con gli oggetti, quindi sfrutto il registratore di macro per supplire a questa mancanza e trovo una soluzione sicuramente migliorabile, ma intanto risolvo il problema.

Codice: Seleziona tutto

Sub Macro2()
   dim document   as object
   dim dispatcher as object
   dim ActiveCell as object
   dim args(0) as new com.sun.star.beans.PropertyValue
   dim args1(0) as new com.sun.star.beans.PropertyValue
   dim RIGA as integer
   '------------------------------
   document   = ThisComponent.CurrentController.Frame
   dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
   ActiveCell = ThisComponent.CurrentSelection    ' ACQ. OGGETTO CELLA CORRENTE
   RIGA       = ActiveCell.CellAddress.Row        ' RIGA CELLA CORRENTE
   ' ----------- cancella le celle vuote sulla colonna a partire dalla cella attiva -------------
   For i = 1 To 100
      nomecella = ActiveCell.String                '.Value
      If nomecella = "" Then             
         ' ActiveCell.Delete
         args(0).Name = "Flags"
         args(0).Value = "U"
         dispatcher.executeDispatch(document, ".uno:DeleteCell", "", 0, args())
      else
         ' ActiveCell.Offset(1, 0).Activate ' si sposta di 1 riga
         RIGA = RIGA + 1
         args1(0).Name = "ToPoint"
         args1(0).Value = "$A$" & TRIM(STR(RIGA))
         dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
         ActiveCell = ThisComponent.CurrentSelection    ' ACQ. OGGETTO CELLA CORRENTE         
      End If
   Next
End Sub
Vedi un pò se ti può aiutare ad approfondire le conoscenze su OO Basic.
Considera comunque che anche senza linguaggio macro o procedure automatizzate varie gli strumenti di base quali: Writer, Calc, Base sono in grado di affrontare e risolvere molti dei problemi che si affrontano nel lavoro di ogni giorno.
Saluti e buon lavoro
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da patel »

Grazie per le dritte, ho fatto qualche progresso, per ora riesco a eliminare le righe (invece delle celle) con

Codice: Seleziona tutto

REM  *****  BASIC  *****
Sub Main
Dim Doc As Object, Sheet As Object, I As Integer
dim ActiveCell as object, RIGA as integer, colA as integer
Doc = ThisComponent
Sheet = Doc.Sheets(0)
colA=0
ActiveCell = Doc.CurrentSelection    ' ACQ. OGGETTO CELLA CORRENTE
RIGA = ActiveCell.CellAddress.Row        ' RIGA CELLA CORRENTE
For i = 1 To 30
      contenuto = ActiveCell.String                '.Value
      If contenuto = "" Then             
         Sheet.Rows.removeByIndex(RIGA, 1)
      else
         RIGA = RIGA + 1
         ActiveCell = Sheet.getCellByPosition(colA,RIGA)    ' ACQ. OGGETTO CELLA CORRENTE         
      End If
Next
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
Avatar utente
Mizio1961
Volontario
Volontario
Messaggi: 841
Iscritto il: mercoledì 5 ottobre 2011, 22:55
Località: Roma

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da Mizio1961 »

Vedi che poi tanto ostico non è?
Poi riuscire a trovare la soluzione al problema da entusiasmo e voglia di provare cose sempre più complesse.... col tempo.
Ricordati di scrivere [Risolto] nel messaggio iniziale così che gli altri possano trovare soluzioni anche per loro in questa conversazione.
Nel caso apri altri quesiti per nuovi scambi sia su questo che su altri temi.
Saluti
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto. ;-)
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da patel »

E' ostico trovare la documentazione, per il resto la discussione non è mia e poiché vorrei continuare il discorso ne apro un'altra.
grazie di tutto
-------------------
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
Iran
Messaggi: 4
Iscritto il: lunedì 24 giugno 2019, 17:45

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da Iran »

Buonasera,
@ilariokov ho spudoratamente copiato e adattato il tuo codice, e funziona alla grande, però mi genera un pdf con 2 pagine, di cui la seconda inutilmente bianca
Mi potete aiutare a capire perché?

Allego il file

Grazie
Allegati
GENERATORE CODICI A BARRE.ods
(23.6 KiB) Scaricato 86 volte
Apache Open office 4.1.6 MacOs
AOO416m1(Build:9790) - Rev. 1844436
2018-10-22 14:11:36 (Mon, 22 Oct 2018) - Darwin x86_64
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da patel »

Non vedo codici a barre, comunque prova così

Codice: Seleziona tutto

sub EsportarangeToPDF
  Sh = ThisComponent.Sheets.getByName("Code")
  oRng = Sh.getCellRangeByName("A1:A2")
  Dim mFilterData(0) As New com.sun.star.beans.PropertyValue
  mFilterData(0).Name = "Selection"
  mFilterData(0).Value = oRng
  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()
  Cel=Sh.getCellByposition(0,0)
  sUrl = "file:///Users/iranbozzi/Scrivania/CODICI%20A%20BARRE/"& Cel.getString()&".pdf"
  ThisComponent.storeToURL(sURL, mStoreOpts())

end sub
La prossima volta non ti accodare ad una vecchia discussione, aprine una nuova tua
-------------------
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
Iran
Messaggi: 4
Iscritto il: lunedì 24 giugno 2019, 17:45

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da Iran »

Chiedo scusa, non mi ricordo più la Netiquette di un Forum.
Comunque Grazie Mille, problema risolto!!
Apache Open office 4.1.6 MacOs
AOO416m1(Build:9790) - Rev. 1844436
2018-10-22 14:11:36 (Mon, 22 Oct 2018) - Darwin x86_64
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro per salvare selezione in PDF con nome file da cell

Messaggio da charlie »

Ciao @Iran e benvenuto/a sul forum.
Se ti vuoi presentare puoi farlo in questa sezione -> viewforum.php?f=16
Per 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.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Rispondi