Alle 15:51, venerdì 6 gennaio 2006, Paolo Mantovani ha scritto: > Dubito che la cosa possa funzionare.
Registrandola con OO.1.3 funziona, ma durante l' esecuzione si apre il dialogo per poter scegliere cosa esportare(cioè quello con il pulsante "Selezione") questo non viene salvato nella macro(poco male) Con OO.2 invece viene salvato anche le impostazioni del suddetto dialogo ma sbaglia la numerazione dell' array(passa da (0), (1), (4), (5)) correggiendo la sequenza a mano si comporta come OO.1.3 cioè fa apparire la suddetta finestra > > Il registratore è spesso in difficoltà quando ci sono di mezzo dei dialoghi Credo che tu abbia ragione, come si può costatare sopra > > > Questa procedura usa i dispatches, cosa non proprio consigliata da Paolo > > Mantovani in un altro thread, ma non conosco un modo più semplice per > > farlo. > > Dovevo immaginare che la mia frase sarebbe stata usata contro di me... Non avevo nessuna intenzione di polemizzare con te, anzi se uno, che ha conoscenze superiori alle mie in un determinato argomento, mi da un consiglio lo accetto ben volentieri, se poi aggiunge anche qualche spiegazione ancora meglio Tornando al problema sollevato da Mirko, visto che il registratore non da buoni frutti, ho modificato ancora il codice di Bart cosi: Sub esporta_fattura_in_pdf Dim myProps(1) as New com.sun.star.beans.PropertyValue 'il valore di questo array va impostato a 1 oSheet = ThisComponent.CurrentController.ActiveSheet mycell = oSheet.getCellRangeByName("$a$5") 'ovviamente scrivi 'l'indirizzo della tua cella oNumero = mycell.string print oNumero 'adesso hai una parte del nome ' potrebbe essere il numero della fattura ' allo stesso modo puoi prelevare il nome del cliente ' adesso aggiungamo un po' di roba oAnno = "2006" oRange = oSheet.getCellRangeByName("A1:G20").getRangeAddress() ThisComponent.CurrentController.getActiveSheet().setPrintAreas(Array(oRange)) 'queste 2 linee servono aselezionare un' area del foglio attivo 'in questo caso A1 G20 Dim sCartella As String sCartella = Folder() 'Questa variabile chiama la funzione Folder() 'la quale apre una finestra nella quale puoi 'scegliere la cartella dove vuoi salvare. 'La riga "sUrl= "file:/// ...." può essere modificata 'così sUrl= sCartella + "Fattura_" + oNumero + oAnno + ".pdf" ' oppure come si preferisce... Print sUrl 'adesso hai anche la path corrente come prima proposta myProps(1).Name = "Selection" myProps(1).Value = true 'queste due linee per salvare solo la parte selezionata myProps(0).Name="FilterName" myProps(0).Value = "Calc_pdf_Export" ' l'errore era qui... '(a me non da nessun errore) 'ma come faceva a funzionare? thisComponent.storetoUrl(sUrl,myProps()) End Sub Function Folder() Dim oCartella as Object Dim iAccetta as Integer oCartella = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker") iAccetta = oCartella.Execute() If iAccetta = 1 Then Folder() = oCartella.GetDirectory() End Function A me funziona Provate anche voi ciao Lido --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]