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.
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.
Se devo essere del tutto sincero però quando ho finalmente trovato l'errore un po' di istinto omicida mi è salito
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
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
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
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!
