Pannello di Controllo Moderatore ]

[Risolto] Percorso salvataggio pdf macro.

Discussioni sulle caratteristiche di database

[Risolto] Percorso salvataggio pdf macro.

Messaggioda Pierluigi1982+ » mercoledì 17 giugno 2020, 15:41

Buonasera, non riesco a trovare dove salva il pdf la macro seguente... grazie

Codice: Seleziona tutto   Espandi visualeStringi visuale
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
Ultima modifica di Pierluigi1982+ il giovedì 18 giugno 2020, 9:22, modificato 2 volte in totale.
OpenOffice 4.0 su Windows 7
Pierluigi1982+
 
Messaggi: 85
Iscritto il: martedì 7 aprile 2020, 15:36

Re: Percorso salvataggio pdf macro.

Messaggioda charlie » mercoledì 17 giugno 2020, 16:28

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.
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6937
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Percorso salvataggio pdf macro.

Messaggioda Pierluigi1982+ » mercoledì 17 giugno 2020, 16:54

Scusa Charlie, sono veramente sbadato alcune volte, non avevo capito dove inserirlo! grazie!
OpenOffice 4.0 su Windows 7
Pierluigi1982+
 
Messaggi: 85
Iscritto il: martedì 7 aprile 2020, 15:36

Re: Percorso salvataggio pdf macro.

Messaggioda Pierluigi1982+ » mercoledì 17 giugno 2020, 16:56

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!
OpenOffice 4.0 su Windows 7
Pierluigi1982+
 
Messaggi: 85
Iscritto il: martedì 7 aprile 2020, 15:36

Re: Percorso salvataggio pdf macro.

Messaggioda charlie » mercoledì 17 giugno 2020, 18:54

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.
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6937
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Percorso salvataggio pdf macro.

Messaggioda Pierluigi1982+ » mercoledì 17 giugno 2020, 22:04

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.
OpenOffice 4.0 su Windows 7
Pierluigi1982+
 
Messaggi: 85
Iscritto il: martedì 7 aprile 2020, 15:36

Re: Percorso salvataggio pdf macro.

Messaggioda Zago_87 » giovedì 18 giugno 2020, 2:10

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   Espandi visualeStringi visuale
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 ;)
LibreOffice 6.3.6
Windows 7 PRO
Avatar utente
Zago_87
 
Messaggi: 109
Iscritto il: giovedì 15 gennaio 2015, 0:53

Re: Percorso salvataggio pdf macro.

Messaggioda Pierluigi1982+ » giovedì 18 giugno 2020, 9:21

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!
OpenOffice 4.0 su Windows 7
Pierluigi1982+
 
Messaggi: 85
Iscritto il: martedì 7 aprile 2020, 15:36

Re: [RISOLTO] Percorso salvataggio pdf macro.

Messaggioda Zago_87 » giovedì 18 giugno 2020, 9:57

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   Espandi visualeStringi visuale
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 ;)
LibreOffice 6.3.6
Windows 7 PRO
Avatar utente
Zago_87
 
Messaggi: 109
Iscritto il: giovedì 15 gennaio 2015, 0:53

Re: Percorso salvataggio pdf macro.

Messaggioda charlie » giovedì 18 giugno 2020, 10:05

Pierluigi1982+ ha scritto:Charlie mi ha consigliato un manuale ma è in inglese

Ho fatto una traduzione in italiano viewtopic.php?f=29&t=10531
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6937
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: [Risolto] Percorso salvataggio pdf macro.

Messaggioda Pierluigi1982+ » giovedì 18 giugno 2020, 15:20

Gazie a tutti per l'aiuto, a presto! :)
OpenOffice 4.0 su Windows 7
Pierluigi1982+
 
Messaggi: 85
Iscritto il: martedì 7 aprile 2020, 15:36


Torna a Base

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti