Salve a tutti. Mi chiamo Luca e non conosco il linguaggio basic per compilare le macro.
Ho letto il pdf "Primi passi con le macro" in questo link http://www.plio.it/guidaintroduttiva3, ma non ho trovato risposta.
Ho creato una macro che mi seleziona certe celle di un foglio chiamato "fatture 1" e me le archivia in un foglio chiamato "Archivio".
Ho la necessità di aggiungere un altro foglio (clone di "fatture 1") chiamato "fatture 2" che deve avere lo stesso trattamento di "fatture 1", cioè una macro che mi archivi le stesse celle nello stesso foglio "Archivio".
Guardando la compilazione della macro ho scoperto che il riferimento al foglio "fatture 1" è il numero del foglio, perchè c'è scritto:
args7(0).Name = "Nr"
args7(0).Value = 1
Ciò vuol dire che, se " fatture 2" è il foglio n. 7, troverò 7 al posto di 1
La mia domanda è la seguente:
vorrei sapere cosa sostituire a "nr" e al numero 1 per far sì che la macro cerchi il foglio che si chiama "fatture 1", indipendentemente dalla posizione del foglio. Così posso spostare i fogli a mio piacimento.
In questo momento ho fatto due macro diverse (per i numeri 1 e 7) che mi archiviano i dati nell'unico foglio "Archivio" (che ha il numero 4). Se volessi spostare "fatture 2" vicino a "fatture 1" devo modificare la macro con il numero 7 sostituendolo al numero 2 e cambiare tutte e due la macro perchè la destinazione "Archivio" non è più il foglio 4, ma 5.
Spero di non essere stato confuso.
Lavorando sul file mi sono accorto che tutte le macro (per fortuna sono solo 4) devono essere modificate, per lo stesso motivo!
A questo punto mi domando se fosse stato meglio crearmi un db con base (anche se, per me, i linguaggi sono ostici).
informazioni sulla sintassi delle macro
informazioni sulla sintassi delle macro
OpenOffice 3.2.1 su Windows Xp
- xergio
- Messaggi: 315
- Iscritto il: lunedì 15 marzo 2010, 21:54
- Località: Arzignano (Vicenza)
- Contatta:
Re: informazioni sulla sintassi delle macro
Sostituisci alla parte della macro che sposta il focus della tabella (che sarà una cosa del genere:
)
con questo codice:
(o Foglio1 o Foglio7 come ti serve).
Codice: Seleziona tutto
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Nr"
args3(0).Value = 3
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args3())
con questo codice:
Codice: Seleziona tutto
ThisComponent.CurrentController.ActiveSheet = ThisComponent.Sheets.getByName("Foglio3")
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto.
---
Sergio Corato
LibO 6.x su Ubuntu 18.04 / OOo 4.x su Windows XP/10 (VirtualBox)
https://efatto.it
---
Sergio Corato
LibO 6.x su Ubuntu 18.04 / OOo 4.x su Windows XP/10 (VirtualBox)
https://efatto.it