[Risolto] Filtro item listbox

Creare una macro - Scrivere uno script - Usare le API
Rispondi
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

[Risolto] Filtro item listbox

Messaggio da Luka2017 »

Buonasera
C'è una macro che tramite textbox filtro i dati di una listbox collegata ad un foglio calc, dove gli item sono collegati ad altri dati riga per riga.
Grazie
Open office 3.1 Windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4016
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Filtro item listbox

Messaggio da patel »

Le macro non si trovano già pronte, vanno costruite apposta in base alle necessità, quindi occorre un file di esempio corredato di spiegazioni dettagliate
-------------------
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
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Filtro item listbox

Messaggio da Luka2017 »

Ciao ho creato un file di esempio e se gentilmente mi potreste aiutare a trovare la macro per scrivere sul textbox "cerca" quello che devo filtrare nella listbox e cliccando nella listbox mi da il riferimento giusto.

Grazie
Allegati
Nuovo OpenDocument - Foglio elettronico.ods
(13.9 KiB) Scaricato 195 volte
Open office 3.1 Windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4016
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Filtro item listbox

Messaggio da patel »

Non ho capito, potresti spiegare meglio ?
-------------------
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
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Filtro item listbox

Messaggio da Luka2017 »

Ciao
Nel foglio calc ho un elenco che scrivo, dove riga per riga è presente un cliente diverso. Nel dialog è presente un listbox con l'elenco dei clienti salvati sul foglio. Cliccando ogni item del listbox appaiono nelle varie textbox i dati riferiti ad ogni item. Il mio problema è che non riesco a trovare una macro, che tramite un textbox scrivo il cognome o il nome del cliente ed in automatico la listbox mi fa apparire quello che scrivo nella textbox e cliccando l'item mi appaiono nelle altre textbox i dati come riportati nel foglio.
Open office 3.1 Windows 7
XLUPOGRIGIOX
Messaggi: 142
Iscritto il: domenica 10 maggio 2015, 18:17
Località: Busto Arsizio (VA)

Re: Filtro item listbox

Messaggio da XLUPOGRIGIOX »

Ciao,scusa ma vorresti che la textbox facesse quello che fa già la listbox?
OpenOffice 4.1.1 su windows seven
patel
Volontario attivo
Volontario attivo
Messaggi: 4016
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Filtro item listbox

Messaggio da patel »

lupo, la lisbox c'è già, forse volevi dire quello che fa già la ComboBox, facilmente ottenibile così

Codice: Seleziona tutto

   For i =0 To 7
      Percorso = Sheet.getCellByPosition(0, i).String
      oDialogo1.getControl("ComboBox1").addItem(Percorso, oDialogo1.getControl("ComboBox1").ItemCount)
   next i
-------------------
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
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Filtro item listbox

Messaggio da Luka2017 »

Grazie per le risposte ma il mio quesito è che nella listbox appaiono comunque i clienti ma tramite la textbox scrivo un cognome e nella listbox appaiono in base a quello che ho scritto nella textbox, e cliccando gli item filtrati nella listbox mi appaiono corretti i dati nelle altre textbox.
Open office 3.1 Windows 7
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Filtro item listbox

Messaggio da Gaetanopr »

A mio avviso è superfluo se ci fai caso posizionandoti sulla listbox e iniziando a digitare il cognome il cursore si posiziona sulla scelta effettuata da solo
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Filtro item listbox

Messaggio da Luka2017 »

Si lo so ma siccome sono tanti gli item e bisogna scrivere velocemente allora siccome se ci fosse questa soluzione sarei grato.
Open office 3.1 Windows 7
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Filtro item listbox

Messaggio da Gaetanopr »

Va bene in questo modo? così appaiono solo quelli che digiti
Però in questo modo devi modificare la macro che riporta i dati nelle restanti textbox in quanto il selectedItemPos non corrisponde più ai dati disposti sul foglio
Allegati
Nuovo OpenDocument - Foglio elettronico.ods
(14.97 KiB) Scaricato 185 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Filtro item listbox

Messaggio da Luka2017 »

Tra un po' ci provo e vi faccio sapere. Grazie mille intanto
Open office 3.1 Windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4016
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Filtro item listbox

Messaggio da patel »

buona idea Gaetano, forse meglio così

Codice: Seleziona tutto

Dim Sheet
Dim oDialogo1
Dim oComboBox
Dim oTextBox

Sub Trasf_Bc
  Dim oComboBox as object
DialogLibraries.LoadLibrary("Standard")
oDialogo1 = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
oDialogo1.Title = "Trasferimento Prodotti"
oDialogo1.getControl("TextField1").Enable = TRUE 
oDialogo1.getControl("TextField2").Enable = FALSE 
oDialogo1.getControl("TextField3").Enable = FALSE
oDialogo1.getControl("TextField4").Enable = FALSE
oDialogo1.getControl("TextField5").Enable = FALSE
oDialogo1.getControl("TextField6").Enable = FALSE
oComboBox = oDialogo1.getControl("ListBox1")
oTextBox = oDialogo1.getControl("TextField1")
Call Option_bc ' <<<<<<<<
oDialogo1.Execute()
oDialogo1.dispose()
End Sub

Sub Option_bc 
Dim oCell
 Dim a As String
  Dim b As String
  Dim oComboBox 
oComboBox = oDialogo1.getControl("ListBox1")
Sheet = ThisComponent.Sheets(0)
oComboBox.removeItems(0,oComboBox.getItemCount())
Daric = UCase(oTextBox.Text)
Lungh = Len(Daric)
For i = 1 to 100
 oCell = Sheet.getCellByPosition(0, i) 
 a = oCell.String
  iF Lungh > 0 Then
    if UCase(Left(Sheet.getCellByPosition(0, i).String, Lungh)) = Daric then
       oComboBox.addItem(a, oDialogo1.getControl("ListBox1").ItemCount)
    End If
  else ' <<<<<<<<
    oComboBox.addItem(a, oDialogo1.getControl("ListBox1").ItemCount) ' <<<<<<<<
  End If  
next i
End sub

Sub List_Ordine
Dim Sheet
Dim MyCounter
Sheet = ThisComponent.Sheets(0)
MyCounter = oDialogo1.getControl("ListBox1").selectedItemPos + 2
oDialogo1.getControl("TextField2").text = Sheet.getCellRangeByName("A" & MyCounter).String
oDialogo1.getControl("TextField3").text = Sheet.getCellRangeByName("B" & MyCounter).String 
oDialogo1.getControl("TextField4").text = Sheet.getCellRangeByName("C" & MyCounter).String 
oDialogo1.getControl("TextField5").text = Sheet.getCellRangeByName("D" & MyCounter).String
oDialogo1.getControl("TextField6").text = Sheet.getCellRangeByName("E" & MyCounter).String
End Sub
Gaetanopr ha scritto:Però in questo modo devi modificare la macro che riporta i dati nelle restanti textbox in quanto il selectedItemPos non corrisponde più ai dati disposti sul foglio
però non basta più inserire solo il cognome nel listbox
-------------------
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
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Filtro item listbox

Messaggio da Luka2017 »

Infatti quello che ho trovato complicazione è proprio sul selecteditempos. Come posso risolvere?
Open office 3.1 Windows 7
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Filtro item listbox

Messaggio da Gaetanopr »

patel ha scritto:buona idea Gaetano, forse meglio così
Patel dipende dall'esigenza di luka, pure io penso sia meglio far comparire tutto ma dal suo messaggio non lo capisco bene
Luka2017 ha scritto:ma il mio quesito è che nella listbox appaiono comunque i clienti ma tramite la textbox scrivo un cognome e nella listbox appaiono in base a quello che ho scritto nella textbox, e cliccando gli item filtrati nella listbox mi appaiono corretti i dati nelle a
Comunque basta remmare questa parte della macro

Codice: Seleziona tutto

iF Lungh > 0 Then
senza aggiungere else per funzinare la macro in tal senso.
Ho modificato la macro per far compilare correttamente anche le altre textbox
Allegati
Nuovo OpenDocument - Foglio elettronico.ods
(14.96 KiB) Scaricato 182 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Filtro item listbox

Messaggio da Luka2017 »

Grazie mille siete degli Amici
Open office 3.1 Windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4016
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Filtro item listbox

Messaggio da patel »

risolto in modo molto semplice, complimenti :bravo:
-------------------
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
Gaetanopr
Volontario
Volontario
Messaggi: 3291
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Filtro item listbox

Messaggio da Gaetanopr »

:super:
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Filtro item listbox

Messaggio da Luka2017 »

Lo so che questo non è un argomento ma ho visto che siete molto disponibili. Io non riesco ha trovare una macro per mandare le email senza client di un allegato dove i percorsi e l'email la scrivo nel foglio calc, ovviamente configurandolo con i miei dati SMTP user e password per poterla inviare. Mi potreste aiutare anche in questo?
Open office 3.1 Windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4016
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Filtro item listbox

Messaggio da patel »

-------------------
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
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

[Risolto] Re: Filtro item listbox

Messaggio da Luka2017 »

Grazie mille come al solito
Open office 3.1 Windows 7
patel
Volontario attivo
Volontario attivo
Messaggi: 4016
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Filtro item listbox

Messaggio da patel »

qual'è la soluzione che hai adottato ?
-------------------
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
Luka2017
Messaggi: 67
Iscritto il: giovedì 16 febbraio 2017, 11:59

Re: Filtro item listbox

Messaggio da Luka2017 »

Questo risolto è legato al filtro e non all'email
Open office 3.1 Windows 7
Rispondi