[Risolto] aggiorna macro e stampa dati

Creare una macro - Scrivere uno script - Usare le API
Rispondi
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

[Risolto] aggiorna macro e stampa dati

Messaggio da Barakkino »

Ciao
ho fatto una macro, con registra macro, che dovrebbe aggiornare una tabella pivot e poi stamparli formattati.
La tabella pivot non viene aggiornata :crazy:
il percorso dovrebbe essere: INS.DATI > (aggiorna) TabPivot > (stampa)Scontrino > (torna) INS.DATI > (cancella tutti dati) INS.DATI > (vai a primo record "K6") INS.DATI

Tutto (quasi) lo riesco a fare con registra macro. ma non funziona perchè: la macro non viene aggiornata e la stampa viene effettuata per l'ultima pagina e non lo scontrino :knock:
grazie
Allegati
Prova Macro.zip
(43.87 KiB) Scaricato 111 volte
Ultima modifica di charlie il mercoledì 9 settembre 2015, 12:56, modificato 2 volte in totale.
Motivazione: Aggiunto segno di spunta verde
openoffice 4 su win 10
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: aggiorna macro e stampa dati

Messaggio da unlucky83 »

Ti consiglio questa macro per aggiornare la tabella pivot
viewtopic.php?f=9&t=5249&p=25657&hilit= ... cro#p25651
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

Re: aggiorna macro e stampa dati

Messaggio da Barakkino »

ciao unlucky83 e grazie del tuo interessamento

ho letto all'indirizzo che mi hai dato, ho provato a mettere le (2) macro ma mi danno sempre errore. non so cosa fare. Nella mia ignoranza le ho provate tutte ma niente, sempre errore

Ancora grazie, ciao
openoffice 4 su win 10
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: aggiorna macro e stampa dati

Messaggio da unlucky83 »

Macro originale

Codice: Seleziona tutto

Sub AggiornaPivot 
Doc = Thiscomponent
Sh = Doc.Sheets.getByName("Pivot") 
For i = 0 To Sh.getDataPilotTables.count  - 1 
   Sh.getDataPilotTables.getbyindex(i).refresh 
Next i
End Sub
Devi personalizzare la parte sottolineata
Sh = Doc.Sheets.getByName("Pivot")
con il nome del tuo foglio contenente la tabella pivot. nel tuo esempio è "TabPivot"
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

Re: aggiorna macro e stampa dati

Messaggio da Barakkino »

Ciao
Mi da sempre -errore di sintassi BASIC-
Non è per caso perchè utilizzo OpenOffice?
openoffice 4 su win 10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: aggiorna macro e stampa dati

Messaggio da Gaetanopr »

Buongiorno, hai seguito il consiglio di unlucky?? cioè di cambiare il nome del foglio

Codice: Seleziona tutto

Sh = Doc.Sheets.getByName("TabPivot") 
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

Re: aggiorna macro e stampa dati

Messaggio da Barakkino »

Ciao
Si, mi da subito errore già alla chiusura della pagina che contiene le macro. Alla chiusura, per andare sul file, si riapre subito dicendo che c è un errore....
openoffice 4 su win 10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: aggiorna macro e stampa dati

Messaggio da Gaetanopr »

Non capisco quando dici pagina che contiene le macro, allega uno screenshot dell'errore
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

Re: aggiorna macro e stampa dati

Messaggio da Barakkino »

Ciao,
scusa la mia lungaggine ma sul mio pc non funziona più internet e devo andare su un altro. spero di mandarti quello che mi hai chiesto
openoffice 4 su win 10
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

Re: aggiorna macro e stampa dati

Messaggio da Barakkino »

Gaetanopr ha scritto:Non capisco quando dici pagina che contiene le macro, allega uno screenshot dell'errore
ciao finalmente riesco ad inviarti l'allegato

spero di aver fatto giusto :?
grazie e buona giornata
Allegati
Prova Macro1.zip
(83.33 KiB) Scaricato 125 volte
openoffice 4 su win 10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: aggiorna macro e stampa dati

Messaggio da Gaetanopr »

Ci sarà qualche problema di spazi tabulazione o altro non visibile comunque cancella e ricopia questa parte

Codice: Seleziona tutto

Sh = Doc.Sheets.getByName("Pivot")
For each pivot in Sh.getDataPilotTables
    pivot.refresh
Next pivot
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

Re: aggiorna macro e stampa dati

Messaggio da Barakkino »

ciao, questa è la macro che "ho scritto" ma mi dice che manca la variabile???
grazie

Codice: Seleziona tutto

sub macro2
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 = "Nr"
args1(0).Value = 3

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

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$3"

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

rem ----------------------------------------------------------------------

[b]sh = Doc.Sheets.getByName("Pivot")
For each pivot in Sh.getDataPilotTables
    pivot.refresh
Next pivot[/b]

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Nr"
args3(0).Value = 4

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args3())

rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$A$1"

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

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Print", "", 0, Array())


end sub
Ultima modifica di charlie il mercoledì 9 settembre 2015, 9:02, modificato 1 volta in totale.
Motivazione: Codificato blocco codice
openoffice 4 su win 10
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: aggiorna macro e stampa dati

Messaggio da Gaetanopr »

Barakkino ha scritto:
ciao, questa è la macro che "ho scritto" ma mi dice che manca la variabile???
grazie
Ciao, io ti avevo detto di cancellare e riscrivere una parte di macro perché c'era probabilmente qualche problema di tabulazione, però hai eliminato una riga

Codice: Seleziona tutto

Doc = Thiscomponent

per questo ti restituisce errore
La macro rimane esattamente quella di prima dovevi solo riscrivere la parte che ti avevo indicato in precedenza.
Allegati
PROVA macro.rar
(36.77 KiB) Scaricato 102 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

Re: [RISOLTO] aggiorna macro e stampa dati

Messaggio da Barakkino »

ciao, Gaetanopr
scusa la mia ignoranza :(
ora la macro funziona benissimo, anche se un po lenta ma ci sta.. :)

grazie e buona giornata
openoffice 4 su win 10
Barakkino
Messaggi: 129
Iscritto il: mercoledì 30 aprile 2014, 12:53

Re: [RISOLTO] aggiorna macro e stampa dati

Messaggio da Barakkino »

ciao, Gaetanopr
scusami ancora, ho capito il perchè della "lentezza" della macro
L'aggiornamento viene fatto a tutte le macro presenti nel foglio, mi va anche bene perchè a volte ho bisogno di tutto l'aggiornamento. Se ti chiedo se è possibile aggiornarne una alla volta chiedo troppo? o altrimenti è meglio fare un altro foglio con solo una macro e quindi verrà aggiornata solo lei?

Grazie ancora e scusami tanto delle mie richieste :D
openoffice 4 su win 10
Rispondi