(RISOLTO) Aprire un foglio da elenco a tendina

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Shotokan
Messaggi: 11
Iscritto il: venerdì 23 settembre 2011, 14:48

(RISOLTO) Aprire un foglio da elenco a tendina

Messaggio da Shotokan »

Buonasera e bentrovati ! :)

Credetemi ho cercato e ricercato ma sui menù a tendina ci sono una cinquina di risposte e non fanno al mio caso....ho fatto la ricerca col metodo consigliato nella guida del forum scrivendo sulla barra di ricerca di google la seguente dicitura

menù tendina visualizzare altro foglio site:services.openoffice.org

e ho letto almeno una decina di risposte filtrando la ricerca in tutti i modi...quindi vi chiedo scusa, ma fra poco potrei sentirmi un demente perche non so proprio come fare.

Allora ho scaricato dalla pagina dei modelli di O.O. il seguente foglio....

http://sourceforge.net/projects/ooodocs ... c/download

che non posso allegarvi perchè le dimensioni e il formato il presente forum non li accettano (non capisco il perchè ! :shock: )

la mia domanda è : come funziona il richiamo di un altro foglio da una lista di un menù a tendina ? Ovvero, quello che vorrei fare è la stessa cosa che fa il primo menù a tendina che trovate nella prima pagina dell'allegato.......scegli maggio e ti si apre il foglio maggio...e così via......

ho trovato un post che ASSOMIGLIA al mio desiderio

http://user.services.openoffice.org/it/ ... glio#p3346

ma non è esattamente quello che succede nel modello indicatovi (statistiche coperti ) . Nel RISOLTO di cui sopra si crea un collegamento, mentre nel modello suddetto scegliendo una voce dal menù ti si apre immediatamente la pagina scelta.
Ho provato a smanettare il modello nella prima pagina ma non sono riuscito a trovare le celle con le formule, mi spiace ! :crazy:
Spero tanto si essermi spiegato e grazie della pazienza ! :?
Ultima modifica di Shotokan il domenica 25 settembre 2011, 8:47, modificato 1 volta in totale.
Libre Office 3.5.7.2 - Xubuntu 12
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 3062
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Aprire un foglio da elenco a tendina

Messaggio da lucky63 »

Shotokan ha scritto:Buonasera e bentrovati ! :)
... ben arrivato...
Shotokan ha scritto:come funziona il richiamo di un altro foglio da una lista di un menù a tendina ?
Ovvero, .... scegli maggio e ti si apre il foglio maggio...e così via......
Se hai provato a usare il file che dici devi aver necessariamente accettato l'esecuzione delle macro.
Altrimenti controlla in sezione sicurezza di avere impostazioni su "Medio" così da lasciarti scegliere se attivare le macro o meno.

Ne consegue, che come avrai ben capito, per la gestione che intendi fare viene utilizzata una macro.
La macro è collegata alla Casella combinata contenente i dati di scelta.
Nella sezione "Eventi" delle proprietà del campo di controllo trovi il collegamento della macro al cambiamento di stato.

Per semplificarti il tutto ripropongo un file vuoto con le medesime funzionalità.
Unico vincolo è quello di mantenere il nome del foglio iniziale contenente la casella di selezione con il nome "Menù". Volendo cambiare il nome di tale foglio occorre modificare anche la macro "Vai_al_Foglio()" nella parte indicante la parola "Menù" con quella del nuovo nome che hai attribuito al Foglio.
..
.
Shotokan
Messaggi: 11
Iscritto il: venerdì 23 settembre 2011, 14:48

Re: Aprire un foglio da elenco a tendina

Messaggio da Shotokan »

Ciao Lucky, grazie della risposta....apprezzo molto.

Quando scelgo un mese dal foglio che mi hai allegato esce questo......

Immagine

che devo fare ora ???...e poi...come si crea questo tipo di combox ? .....(mio padre mi insegna : quando vuoi aiutare qualcuno, non dargli un pesce , ma insegnagli a pescare ! :mrgreen: )

grazie della pazienza ! :oops:
Libre Office 3.5.7.2 - Xubuntu 12
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 3062
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Aprire un foglio da elenco a tendina

Messaggio da lucky63 »

Shotokan ha scritto:Quando scelgo un mese dal foglio che mi hai allegato esce questo......
A me funziona regolarmente.
Ho provato a verificare presenza Macro sul foglio ed è presente.
Schermata.png
Shotokan ha scritto:che devo fare ora ???
.. attendi e vediamo se altri utenti segnalano medesimo errore o altre soluzioni ...
Shotokan ha scritto:e poi...come si crea questo tipo di combox ? .....(mio padre mi insegna : quando vuoi aiutare qualcuno, non dargli un pesce , ma insegnagli a pescare !
E' una "casella combinata" che si può creare cliccando su apposita icona dopo aver attivato barra strumenti "Controlli per formulario ...
Schermata-1.png
Tramite il pulsante OK cambi modalità da Bozza a operativa (Bozza On/Off).
Shotokan ha scritto:Ho provato a smanettare il modello nella prima pagina ma non sono riuscito a trovare le celle con le formule, mi spiace !
Visto che il modello funziona.
Se ti và di smanettare ancora dopo aver aperto modello togli protezione foglio e documento al foglio "Menù".
Attiva barra strumenti controlli per formulario.
Cliccando su pulsante OK passi in modalità Bozza (Bozza On/Off) e puoi selezionare i form che non servono e cancellarli lasciando solo la Casella combinata per selezione mese.
Togli anche scritte e quant'altro non serve.
Attenzione la cella L1 viene utilizzata per raffronto alla scelta fatta da casella combinata e cambia dopo ogni nuova selezione dalla stessa.

Uno ad uno seleziona gli altri fogli, togli la protezione al foglio e poi li elimini.
Prova inizialmente anche con uno solo. Elimina ad esempio il solo FoglioGennaio e poi crealo ex novo vuoto.
Se testi la casella combinata selezionando Gennaio funziona ancora mandantoti al foglio Gennaio (Nuovo).
Ripeti operazioni quanto basta fino a rimanere con foglio Menù e i nuovi fogli dei mesi da tè creati.
Testa funzionalità Casella combinata e funziona correttamente.

Veniamo ora alla questione Macro.
Visto che è già gestita non serve applicarla. Semmai si potranno togliere tutte le altre che non servono.

Comunque volendo applicare macro si dovrebbe essere in modalità Bozza.
Selezionare con tasto destro del mouse la casella combinata di selezione mese (appaiono i quadrattini verdi e il menù comandi rapido/contestuale associato) - Cliccare su voce "Campo di controllo" per accedere alle relative proprietà (Dove puoi curiosare ...) - Cliccando sulla Cartella "Eventi" noterai che alla voce "Stato modificato" è attiva una descrizione che aggancia la macro ad essa associata. Al suo fianco Destro una casellina con tre puntini. Clicca su questa casellina e poi sul pulsante "Macro" e avrai accesso alla libreria macro che puoi sfogliare per curiosare ... dopo di chè clicca sul pulsante annulla.
La macro che interessa è (Write_To_Destination_Cell) quella evidenziata nell'immagine che segue:
Schermata-Selettore Macro.png
Ora puoi decidere se tenerti il file con tutte le altre macro (per altro ininfleunti) o ripulirlo mantenento solo quella che interessa.

Per eliminare le macro che non servono:
Da menu - Strumenti - Macro - Organizza Macro - Libreria OfficeBasic
Nella finestra che si apre seleziona il triangolino a fianco del nome del file e poi ancora su triangolino in fianco alla voce Standard e poi clicca su "Moduolo1" così da avere visualizzato l'elenco delle macro associate a quel documento (similmente a come rappresentate nell'immagine precedente).
Seleziona ad una ad una il nome delle macro che appaiono e scegli "Elimina" per eliminarle.
Lascia solo la macro "Write_To_Destination_Cell".
Chiudi tutto
Testa ancora il file e avrai il tuo file funzionante e ripulito ....

... buona pesca... ma se non ti basta puoi provare a pescare in alto mare ...

Soluzione più semplice/rapida ma più da smanettoni.
Apri nuovo file di Calc e crea i fogli Menù e relativi mesi dell'anno.
Apri il modulo scaricato da internet
Dopo aver tolto protezioni, attivato barra strumenti controlli per il formulario e attivato modalità bozza
Seleziona con tasto destro del mouse la casella combinata di selezione dei mesi e copia in memoria.
Passa nel foglio "Menù" del nuovo file e incolla.
Passa in modalità Bozza - Seleziona con tasto Dx - Campo di controllo - Generale - Voci dell'elenco - Clicca su freccetta e cancella quelle presenti e poi riscrivile ex novo (per andare a capo tra un mese e l'altro tieni premuto tasto SHIFT e poi dai INVIO). Create tutte le voci chiudi e passa in modalità operativa.

Da Menu - Dati - Macro - Registra macro - Sposta il cursore di una sola cella e poi clicca su termina macro - Nella finestra che si apre seleziona il nome del file e clicca su pulsante nuovo modulo e accettare nome proposto (Moduolo1) - ritornare al nome del file - selezionare triangolino voce standard e poi modulo1 - Nella casella nome dai un nome fittizzio (es.: xxxxx) e conferma con OK.
Ora la macro xxxxx è associata al file e se mandata in esecuzione non fà altro che spostare il cursore da una posizione all'altra come fatto nel momento della registrazione.
Ritorna al file scaricato da internet - rifai sequenza passaggi per arrivare all'elenco delle macro disponibili.
Seleziona la macro "Write_To_Destination_Cell" e clicca su modifica. Si apre la finestra con il codice Basic.
Copiare tutte le righe presenti da "Sub Write_To_Destination_Cell ()" fino alla prima "End sub".
Eccole di seguito:

Sub Write_To_Destination_Cell()

Dim oDoc As Object
Dim oSheet As Object
Dim oForm As Object
Dim oComboBox As Object
Dim oCellRangeDestination As Object
Dim oSheet_Tabelle As Object
Dim nometabella as string
Dim oCell as object

Set oDoc = ThisComponent
Set oSheet = oDoc.Sheets.GetByName("Menù")
Set oForm = oSheet.DrawPage.Forms.GetByName("Standard")
Set oComboBox = oform.getByName("ComboBox")
Set oCellRangeDestination = oSheet.getCellRangeByName("L1")
'document = ThisComponent.CurrentController.Frame
'dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

oCellRangeDestination.FormulaLocal = oComboBox.text
nometabella = oComboBox.text

oSheet_Tabelle = oDoc.Sheets.getByName(nometabella)
oDoc.CurrentController.setActiveSheet(oSheet_Tabelle)


End Sub

Passare al nuovo foglio.
Ripetere operazioni per arrivare ad aprire e visualizzare codice della macro xxxxxx
Cancellare tutte le righe da "Sub xxxxx()" alla voce "End Sub".
Incollare al loro posto quanto si hà in memoria (le righe del codice macro precedente di cui sopra).
chiudere finestra e passare a testare il reale funzionamento della casella combinata.

... salva il file e hai il tuo file vuoto funzionante ....

... per altre possibilità / soluzioni ... attendi indicazioni altri utenti ....
Nel frattempo provo a vedere se trovo una soluzione più semplice ....
..
.


.
Shotokan
Messaggi: 11
Iscritto il: venerdì 23 settembre 2011, 14:48

Re: Aprire un foglio da elenco a tendina

Messaggio da Shotokan »

Innanzi tutto : complimenti.
Non ho mai trovato nei forum che frequento (sono comunque pochi, ma specialistici) tanta cortesia e professionalità.
Apprezzo la cortesia e la pazienza mostrata.

Adesso mi studio ben bene il papiro che mi hai scritto e, dopo aver fatto i compiti a casa, sarò felice di mettere RISOLTO in cima al primo post.....dammi un pò di tempo per smanettare.........

aspetta , non rispondere chè voglio incollarti la schermata di errore che mi restituisce adesso......

aspetta......
Libre Office 3.5.7.2 - Xubuntu 12
Shotokan
Messaggi: 11
Iscritto il: venerdì 23 settembre 2011, 14:48

Re: Aprire un foglio da elenco a tendina

Messaggio da Shotokan »

Immagine

a proposito ...dove si trova l'opzione 'verifica la presenza di macro' ??

:oops:
Libre Office 3.5.7.2 - Xubuntu 12
Shotokan
Messaggi: 11
Iscritto il: venerdì 23 settembre 2011, 14:48

(RISOLTO) Aprire un foglio da elenco a tendina

Messaggio da Shotokan »

Ok, va bene, grazie Lucky.....Non ho capito come inserire la/le macro in un altro file.calc ma l'allegato che mi hai dato funziona perfettamente.....

adesso mi dedicherò alla pesca d'altura.... ;) ...... :ouch:

ti ringrazio di cuore :bravo:

scrivo RISOLTO :super:
Libre Office 3.5.7.2 - Xubuntu 12
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 3062
Iscritto il: martedì 18 maggio 2010, 17:01

Re: Aprire un foglio da elenco a tendina

Messaggio da lucky63 »

Shotokan ha scritto: ti ringrazio di cuore :bravo:

scrivo RISOLTO :super:
... prego ...
... cortesemente il [Risolto] mettilo davanti al titolo del primo post (quello con cui hai aperto discussione) altrimenti non si vede nella sezione dei titoli dei post trattati.
..
.
Rispondi