bueno quiero que se capte el nombre de la ventana y los vaya poniendo en un listbox pero que no aparezcan repetidos. lo de capturar el nombre de la ventana lo se hacer (getwindowstext) pero no se pasar al listbox y que no se repitan o sea que no figure un mismo dato dos veces.
salu2
Mira para pasar al listbox los resultados de (getwindowstext) solo se debe hacer asi
supongamos que lo que te tira el (getwindowstext) lo guardas en la variable "Nombre_Ventana"
List1.AddItem Nombre_Ventana asi lo agregas al listbox.
Ahora para Eliminar Duplicados (No es mio este code) pero funciona joya,debes agregar un Modulo al proyecto y pega este code :
'MODULO
Public Sub xListKillDupes(listbox As listbox)
'Elimina duplicado en ListBox
Dim Search1 As Long
Dim Search2 As Long
Dim KillDupe As Long
KillDupe = 0
For Search1& = 0 To listbox.ListCount - 1
For Search2& = Search1& + 1 To listbox.ListCount - 1
KillDupe = KillDupe + 1
If listbox.List(Search1&) = listbox.List(Search2&) Then
listbox.RemoveItem Search2&
Search2& = Search2& - 1
End If
Next Search2&
Next Search1&
End Sub
para llamarlo esto en el Formulario debes colcoar asi :
'FORMULARIO
' Nombre_Ventana aca guardas los nombres de las ventanas
List1.AddItem Nombre_Ventana'carga los resultados
Call xListKillDupes(List1)'elimina duplicados
Espero te sirva ,si no entendes postea ,saludos .-.
muchas gracias voy a probarlo
salu2
me funciona un rato pero luego me dice llamada a procedimiento o argumento no valida y me señala esta parte en amarillo
listbox.RemoveItem Search2&
alguien sabe por que ? gracias
agrega en el modulo que tenes despues de Public Sub xListKillDupes(listbox As listbox) esto:
On Error Resume Next
asi simplemente pasa x alto ese error,. que parece una uevada
no prove el codigo ni nada,. pero calculo k es xq ya no se encuentran mas "repetidos" entonces no va a "remover" nada
suerte
El MaRo!
Tiene razon ElMaro .
Evidentemente el error te lo tira por que quiere eliminar algo que NO existe.
Fijate que quizas el tengas alguna ventana sin Titulo y por eso te da el error (Me.Caption="" ).
o si no hace la comparacion algo asi :
If Nombre_Ventana<>"" then
Call xListKillDupes(List1)
End If
Asi NO dara error. Saludos .-.
Del extasis a la agonia ,oscila nuestra hitoria;Podemosser lo mejor y tambien lo peor ,con la misma facilidad.Bersuit