Pagina 1 di 1

[Risolto] Percorso salvataggio pdf macro.

Inviato: mercoledì 17 giugno 2020, 15:41
da Pierluigi1982+
Buonasera, non riesco a trovare dove salva il pdf la macro seguente... grazie

Codice: Seleziona tutto

Sub subDisplayReport'(Personale as string)
   Personale = "Scadenza patenti"
   pip = thisComponent.Parent.getReportDocuments
   Dim ReportPropArgs(2) As New com.sun.star.beans.PropertyValue
   ReportPropArgs(0).Name = "ActiveConnection"
   ReportPropArgs(0).Value=thisComponent.Drawpage.Forms(0).ActiveConnection
   ReportPropArgs(1).Name = "OpenMode"
   ReportPropArgs(1).Value = "open"
   ReportPropArgs(2).Name = "Hidden"
   ReportPropArgs(2).Value = true
    penReport1 = pip.loadComponentFromURL(Personale,"_blank",8,ReportPropArgs())
   document   = penReport1.CurrentController.Frame' il nostro frame
   dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
   Dim args1(2) as new com.sun.star.beans.PropertyValue
   sPDFURL=Left(ThisComponent.Parent.Location,len(ThisComponent.Parent.Location)-len(ThisComponent.Parent.Title))& format(Now(),"DD-MMMM-YYYY,HH:MM")&".pdf"
   args1(0).Name = "URL"
   args1(0).Value = sPDFURL
   args1(1).Name = "FilterName"
   args1(1).Value = "writer_pdf_Export"
   args1(2).Name = "FilterData"
   args1(2).Value = Array()
   dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args1())
   MsgBox "Report creato",64,"OK"
   Document.close( True )  ' se si vuole chiudere il report
End Sub
inoltre se non volessi chiudere il report?

grazie

Re: Percorso salvataggio pdf macro.

Inviato: mercoledì 17 giugno 2020, 16:28
da charlie
Ciao, per cortesia, utilizza le funzioni di formattazione del codice nei tuoi post.
Schermata 2020-06-17 alle 16.25.40.png
Migliorerai la leggibilità e sarai in "regola con regole" del forum.
Grazie.
P.S. Anche questa volta ho provveduto io.

Re: Percorso salvataggio pdf macro.

Inviato: mercoledì 17 giugno 2020, 16:54
da Pierluigi1982+
Scusa Charlie, sono veramente sbadato alcune volte, non avevo capito dove inserirlo! grazie!

Re: Percorso salvataggio pdf macro.

Inviato: mercoledì 17 giugno 2020, 16:56
da Pierluigi1982+
Sul mac, il pdf me lo esporta nella cartella del db ma su windows 7 non lo trovo, mi dà un errore generico I/O e poi me lo crea ma non riesco a trovarlo mi puoi aiutare? come si cambia il percorso? grazie mille!

Re: Percorso salvataggio pdf macro.

Inviato: mercoledì 17 giugno 2020, 18:54
da charlie
Il messaggio ti dice che l'ha creata, ma non è vero. Infatti è preceduto da un messaggio di errore.
Ho verificato anch'io il problema, anche impostando un percorso diverso.
Strano che funzioni in ambiente macOS (funziona) e non Windows, perché @Gaetanopr che ha postato la macro lavora in ambiente Windows.

Re: Percorso salvataggio pdf macro.

Inviato: mercoledì 17 giugno 2020, 22:04
da Pierluigi1982+
Ti assicuro, che mi funziona su mac, prima mi funzionava anche su windows 7, ore nn più, non so cosa possa essere successo, come posso risolvere? grazie.

Re: Percorso salvataggio pdf macro.

Inviato: giovedì 18 giugno 2020, 2:10
da Zago_87
Ti ringrazio perché per trovare l'errore ho ripreso un po' di dimestichezza con le macro e ho pensato di poter sfruttare questo codice per implementare una funzione interessante per il mio DB. :super:
Se devo essere del tutto sincero però quando ho finalmente trovato l'errore un po' di istinto omicida mi è salito :mrgreen:

Togliendo ":" dal nome del file la macro è perfetta...è uno dei caratteri non ammissibili nei nomi file!!!

A volte è un singolo carattere a non far funzionare decine di righe di codice...il bello e il brutto di questo meraviglioso mondo :ouch:

PS: ti rimetto il codice con un "-" al posto dei ":" e con i commenti per personalizzare le funzioni. Per disattivare o riattivare le righe basta mettere e togliere un apostrofo. Ti ho impostato la macro in modo che il report si apra in modalità nascosta, compaia il menù di esportazione pdf dove puoi cambiare eventualmente le opzioni, escluso il messaggio di conferma perché puoi avere la conferma della creazione dal fatto che si apre già il pdf, eliminato la chiusura del report perché è già nascosto. Ovviamente mettendo e togliendo gli apostrofi puoi riconfigurare come preferisci.

Codice: Seleziona tutto

Sub subDisplayReport
   Personale = "Scadenza patenti"
   pip = thisComponent.Parent.getReportDocuments
   Dim ReportPropArgs(2) As New com.sun.star.beans.PropertyValue
   ReportPropArgs(0).Name = "ActiveConnection"
   ReportPropArgs(0).Value=thisComponent.Drawpage.Forms(0).ActiveConnection
   ReportPropArgs(1).Name = "OpenMode"
   ReportPropArgs(1).Value = "open"
   ReportPropArgs(2).Name = "Hidden"				'Queste due righe attivano
   ReportPropArgs(2).Value = true						'la modalità di apertura "nascosta"
   penReport1 = pip.loadComponentFromURL(Personale,"_blank",8,ReportPropArgs())
   document  = penReport1.CurrentController.Frame
   dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
   Dim args1(2) as new com.sun.star.beans.PropertyValue
   sPDFURL=Left(ThisComponent.Parent.Location,len(ThisComponent.Parent.Location)-len(ThisComponent.Parent.Title))& format(Now(),"DD-MMMM-YYYY,HH-MM")&".pdf"
   args1(0).Name = "URL"
   args1(0).Value = sPDFURL
   args1(1).Name = "FilterName"
   args1(1).Value = "writer_pdf_Export"
   'args1(2).Name = "FilterData"							'Queste due righe escludono
   'args1(2).Value = Array()									'l'apertura del menù di esportazione PDF
   dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args1())
   'MsgBox "Report creato",64,"OK"					'Ho commentatoanche questo perchè il messaggio mi sembra inutile visto che ti si apre in anteprima il pdf appena creato
   'Document.close( True )  									'Come era indicato questo è il comando di chiusura del report
End Sub
Spero di esserti stato di aiuto, se hai dubbi chiedi pure, se invece ho risolto il tuo problema chiudi pure ;)

Re: Percorso salvataggio pdf macro.

Inviato: giovedì 18 giugno 2020, 9:21
da Pierluigi1982+
Buongiorno, ti sono davvero grato, grazie mille, ho risolto! sto cercando di imparare, ma la strada è lunga, Charlie mi ha consigliato un manuale ma è in inglese, io non sono molto bravo in inglese...mi sapresti indicare qualcosa in italiano per imparare a fare le macro? qualcosa da principianti! grazie ancora!

Re: [RISOLTO] Percorso salvataggio pdf macro.

Inviato: giovedì 18 giugno 2020, 9:57
da Zago_87
Sono poco più che un principiante anche io con la scrittura delle macro...consigli migliori di Charlie non ne ho davvero.
Ho cercato a lungo manuali che una volta letti mi facessero dire "CI SONO!", ma ancora mai avuta quella sensazione :knock:

Quello che ho imparato l'ho imparato affrontando un problema alla volta come penso stai facendo anche tu, soprattutto grazie a questo forum. Poi anche quelli analoghi in inglese, spagnolo e francese aiutano, altri risultati in rete...e tante ore di test.

Un consiglio che mi viene in mente ora al volo, se non lo stai già facendo cerca di sfruttare le MsgBox per verificare passaggio per passaggio se la macro sta facendo quello che ti aspetti. Ad esempio se inserisci

Codice: Seleziona tutto

MsgBox sPDFURL
dopo il passaggio in cui setti il nome del file, arrivato a quel punto della macro ti appare un messaggio con il percorso. In generale quando imposti una variabile, se nella riga successiva la stampi ti accerti che sia tutto ok.

Alla prossima ;)

Re: Percorso salvataggio pdf macro.

Inviato: giovedì 18 giugno 2020, 10:05
da charlie
Pierluigi1982+ ha scritto:Charlie mi ha consigliato un manuale ma è in inglese
Ho fatto una traduzione in italiano viewtopic.php?f=29&t=10531

Re: [Risolto] Percorso salvataggio pdf macro.

Inviato: giovedì 18 giugno 2020, 15:20
da Pierluigi1982+
Gazie a tutti per l'aiuto, a presto! :)