[Risolto] Finestra di Dialog con Elenco+Pulsanti OK/Annulla

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Avatar utente
Biagio91
Messaggi: 238
Iscritto il: mercoledì 3 febbraio 2021, 20:25

[Risolto] Finestra di Dialog con Elenco+Pulsanti OK/Annulla

Messaggio da Biagio91 »

Ciao a tutti,

Per curiostà e interesse personale cercavo in rete come fare ad inserire nella macro che sto utilizzando per l'inserimento di alcuni dati tramite InputBox successive, una sorta di InputBox da cui poter scegliere un dato da un elenco.

Ad esempio su Foglio1 ho un elenco di nomi in A1:A100

Su Foglio2 necessiterei che durante l'inserimento di dati tramite successive InputBox, una di queste sia per il riferimento ad uno dei nomi presenti nell'elenco di Foglio1, ma per evitare errori di battitura ed avere lo stesso identico nome presente nell'elenco di Foglio1, volevo sapere se è possibile utilizzare una sorta di InputBox che però mi dia la possibilità di selezionare il nome appunto dall'elenco presente in Foglio1 A1:A100

Cercando in rete non sono mica riuscito a trovare qualcosa di adeguato.

Avete idea se può essere fattibile una cosa del genere? Come dovrei fare per costruirla?
Ultima modifica di Biagio91 il domenica 18 aprile 2021, 22:27, modificato 5 volte in totale.
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: InputBox con Elenco da cui scegliere

Messaggio da patel »

Vai su Dati,Validità, Intervallo di celle ....
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
Biagio91
Messaggi: 238
Iscritto il: mercoledì 3 febbraio 2021, 20:25

Re: InputBox con Elenco da cui scegliere

Messaggio da Biagio91 »

Si, questo è per creare un elenco giusto? Se è così questo riesco già a farlo.

La curiosità era se è possibile inserire un elenco da cui scegliere su una inputbox, al posto di avere il classico spazio dove digitare, avere l'elenco.

Possibile?
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: InputBox con Elenco da cui scegliere

Messaggio da patel »

Non capisco la differenza tra quanto dici e la mia proposta, forse vuoi realizzare una finestra di dialogo ?
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
Biagio91
Messaggi: 238
Iscritto il: mercoledì 3 febbraio 2021, 20:25

Re: InputBox con Elenco da cui scegliere

Messaggio da Biagio91 »

Presumo di si, ho visto le miniature del wiki e
https://wiki.openoffice.org/w/images/c/ ... dlg_04.gif
questa sembrerebbe ciò che serve a me.

Perdona il mio esprimermi da nabbo.

Mi manca capire come fare a costruirla...infine questa è la base da cui partire

Pazzesco, ho cercato in internet, nel forum, ovunque....mi sembra di non trovare lo Step0, trovo tutti che la usano tranquillamente e poi hanno problemi col codice o con l'inserimento dei dati o con la "formattazione" della Finestra di dialogo...ma io non riesco mica a capire proprio come fare per costruirla XD, mi manca la partenza.

Esiste una guida in merito??
 Editato: Ok....Strumenti>Macro>OrganizzaMacro>OpenOffice Basic > NuovoModulo > Tasto Dx in basso sulla barra delle label > inserisci > dialog!!
L'ho trovato!!!! 
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
Avatar utente
Biagio91
Messaggi: 238
Iscritto il: mercoledì 3 febbraio 2021, 20:25

Re: InputBox con Elenco da cui scegliere

Messaggio da Biagio91 »

Ok, sono a buon punto, mi manca proprio la parte "finale" di questo progetto ovvero:
Popolare l'elenco della ComboBox, inserire il valore scelto su una cella se è stato premuto il Pulsante OK, altrimenti Annullare tutto e chiudere la Dlg.


Posto un file esempio, ho cercato di renderlo il più pratico possibile ma sono autodidatta e sicuramente qualcosa è fatto male (spero poca roba).
Attualmente sono bloccato su:

- Popolare l'elenco con i dati della colonna B del Elenco; in modo che se aggiungo dati all'elenco, vengano aggiornati i valori anche all'interno della ComboBox.
- Far funzionare i pulsanti OK e Annulla (se Off-Topic faccio nuovo Thread)

Grazie mille se riuscite a darmi un aiuto

 Editato: Allegato eliminato;
C'erano delle parti di Codice errate che potevano fuorviare.
Allegato File definitivo Funzionante a fine post 
Ciao
Ultima modifica di Biagio91 il domenica 18 aprile 2021, 22:09, modificato 2 volte in totale.
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
Avatar utente
Biagio91
Messaggi: 238
Iscritto il: mercoledì 3 febbraio 2021, 20:25

Re: InputBox con Elenco da cui scegliere

Messaggio da Biagio91 »

Forse dovrei cambiare il titolo in Finestra di Dialogo con elenco?
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: InputBox con Elenco da cui scegliere

Messaggio da patel »

Cambiare titolo sarebbe saggio.
Prova questa modifica

Codice: Seleziona tutto

dim Dlg As Object

'------------------
sub MostraDlg
DialogLibraries.LoadLibrary("Standard")
Dlg = CreateUnoDialog(DialogLibraries.Standard.DlgEsempio)
call riempicombobox
Dlg.Execute()
end sub

Sub riempicombobox
sh = ThisComponent.Sheets.GetByName("ElencoID")
n=0
   For r = 5 To 34
      a=  Sh.getCellByPosition(1, r).String
      if a<>"" then 
         Dlg.getControl("cboID").AddItem(a,n)
         n=n+1
      end if
   next 
End sub
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
Biagio91
Messaggi: 238
Iscritto il: mercoledì 3 febbraio 2021, 20:25

Re: Finestra di Dialogo con Elenco da cui scegliere

Messaggio da Biagio91 »

Ciao patel, grazie mille, funziona tutto alla grande, non sarei mai riuscito da solo...per esempio ancora non sarei stato in grado di usare in questo modo il ciclio for r=5 to 34 con l'If all'interno e poi usare il n=n+1 , next per far girare il tutto...splendido. Il metodo add item non lo conoscevo, mi sto leggendo come funziona.

Grazie mille

Per caso sei riuscito a dare un'occhiata pure al discorso dei pulsanti?
Non dovrei essere troppo distante dalla soluzione (spero)

Grazie mille
Ciao
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Finestra di Dialogo con Elenco da cui scegliere

Messaggio da patel »

Puoi ottenere il valore selezionato dal combo con
Dlg.getControl("cboID").Text
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
Biagio91
Messaggi: 238
Iscritto il: mercoledì 3 febbraio 2021, 20:25

Re: Finestra di Dialogo con Elenco da cui scegliere

Messaggio da Biagio91 »

Ciao,
Grazie mille patel, era proprio quello che mi serviva per concludere.

Sono riuscito a fare ciò che mi serviva e ho imparato molto anche questa volta.
Allego il file completo e una breve descrizione nel "Commento file".

Grazie mille ancora.
Allegati
EsempioDialog.ods
------------------------------------------------------------------------------------------------
Breve descrizione del file EsempioDialog:
Struttura: FoglioElenco, FoglioInserimentoDati (+Pulsante), FoglioRiepilogo
Funzionamento:

Da FoglioElenco
- Inserimento di una serie di ID per popolare la CasellaCombinata della finestra di dialogo

Da FoglioInserimentoDati
- Pulsante per riportare un dato, tramite l'utilizzo di una Finestra di Dialogo
- Possibilità di scegliere da una CasellaCombinata un elenco che si aggiorna automaticamente all'inserimento di altri ID nell'elenco di origine (FoglioElenco)
- Assegnazione di macro ai pulsanti Ok e Annulla della Dialog:
*Ok: riportare il testo dell' ID selezionato dall'elenco sulla prima cella libera della colonna ID del FoglioInserimentoDati
*Annulla: esci ed assegna al testo eventualmente selezionato dalla CasellaCombinata (Elenco degli ID) a valore nullo.

Da FoglioRiepilogo
- Riferimento ai campi ID
- Riportare i valori dei campi Data e Quantità in funzione di ID
------------------------------------------------------------------------------------------------
(15.84 KiB) Scaricato 119 volte
OpenOffice 4.1.8 su Windows 7-10
::::May we meet again into the matrix::::
Rispondi