[Risolto] macro da campodata a cella solo su unico o primo foglio

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
solitariopc
Messaggi: 63
Iscritto il: mercoledì 1 febbraio 2012, 12:36

[Risolto] macro da campodata a cella solo su unico o primo foglio

Messaggio da solitariopc »

Buongiorno! Da una ricerca nel forum ho preso un esempio di macro che copia la data di un campo data
ad una cella (viewtopic.php?f=9&t=5278&hilit=+campo+data).
Funziona bene se nel file esiste un singolo foglio, se il foglio con il campo data è primo foglio ( foglio 1),
se invece si trova in coda agli altri (foglio 2, 3, ecc...), incontro difficoltà la macro non funziona
e mi restituisce la risposta:

(Errore di runtime BASIC.
Si è verificata un'eccezione
Type: com.sun.star.container.NoSuchElementException
Message:.)
alla riga n°15 Form = DrawPage.Forms.GetByIndex(0)

perché, cosa manca, non mi sembra che ci siano riferimenti alla posizione del foglio. Magari mi sbaglio.
Grazie e un buon lavoro a tutti.
Allegati
Da_campo_data_a_cella.ods
(11.03 KiB) Scaricato 39 volte
Ultima modifica di solitariopc il sabato 24 settembre 2022, 7:25, modificato 1 volta in totale.
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: macro da campodata a cella solo su unico o primo foglio

Messaggio da Gaetanopr »

solitariopc ha scritto: venerdì 23 settembre 2022, 12:22 Funziona bene se nel file esiste un singolo foglio, se il foglio con il campo data è primo foglio ( foglio 1),
se invece si trova in coda agli altri (foglio 2, 3, ecc...), incontro difficoltà la macro non funziona
Non è proprio così, non funziona bene se esiste un singolo foglio ma funziona se viene indicato correttamente il foglio sul quale si trova il campo data, tu hai inserito il campo data nel foglio1 ma si trova al terzo posto quindi con indice 2 ma nella macro indichi indice 0 cioè il primo foglio che nel tuo caso non corrisponde a Foglio1, per non incorrere ad errori è preferibile usare il nome dei fogli e non l'indice in questi casi.

Codice: Seleziona tutto

Sheet = Doc.Sheets.GetByIndex(0)
diventa

Codice: Seleziona tutto

Sheet = Doc.Sheets.GetByIndex(2)
o meglio ancora

Codice: Seleziona tutto

Sheet = Doc.Sheets.GetByName("Foglio1")
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
solitariopc
Messaggi: 63
Iscritto il: mercoledì 1 febbraio 2012, 12:36

Re: [Risolto] macro da campodata a cella solo su unico o primo foglio

Messaggio da solitariopc »

Buonasera, a tutti. Ringrazio Gaetanopr che ha accolto la richiesta di aiuto; il cambio della posizione del foglio mi era passata per la mente, ma, non conoscendo il linguaggio basic non sapevo cosa modificare. Grazie ancora e una serena nottata.
LibreOffice 5.1.6.2 su LinuxMint 18
Rispondi