Visual Basic para Aplicaciones - Como saber si un combobox existe

Life is soft - evento anual de software empresarial
 
Vista:

Como saber si un combobox existe

Publicado por Ximo (2 intervenciones) el 21/01/2009 15:22:40
Como bien dice el titulo, queria ver como puedo saber si un combobox existe y dependiendo de si esxiste o no, crearlo o cambiarle el contenido.
Algo asi

If Combobox existe then
borrar contenido y poner nuevo contenido

else

crear combobox con ese nombre

end if

tambien tengo dudas con como crear el combobox, lo estoy haciendo de la siguiente manera:

Dim OleObj As OLEObject
Dim UCLpar As String

Set OleObj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
Link:=False, _
DisplayAsIcon:=False, _
Left:=53, _
Top:=44.5, _
Width:=115, _
Height:=15)
OleObj.Name = "UCLpar"

Se puede hacer de otra manera o esta es la idonea.

Espero que me podais hechar una mano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como saber si un combobox existe

Publicado por Damian (7 intervenciones) el 21/01/2009 16:45:17
1)Empiezo por la ultima pregunta, para crear un ComboBox lo que tienes que hacer es instanciarlo, seria asi:
Dim cbo As New ComboBox

Esto te crea el ComboBox, despues para haceder a sus propiedades es cbo.(punto) y te tira sus correpondientes propiedades,metodos,etc.

Por ejemplo para ponerlo en alguna posicion de tu form deberias hacer algo asi:

cbo.Location = New Point(118, 12)

'Para el tamaño del control:
cbo.Size = New Point(214, 20)

Y asi con las demas propiedades..........
Por ultimo lo agregas a tu Form1 por ejemplo:
Form1.Controls.Add(cbo)

Para agreagr algun evento a tu control desbes ahcerlo asi:
AddHandler cbo.Click, AddressOf cbo_Click

2)Para saber si un ComboBox existe

Dim miCbo As Object
Dim i as integer

For Each miCbo In Me.Controls
If TypeOf miCbo Is ComboBox Then
'Trabajar con los combos que tengas en tu form
'si nunca entra aca es porque no tienes ComboBox en tu form
End If
Next Text

Este bucle te recorre todos los controles que tengas en tu form pero solo trabajaras con aquellos que sean ComboBox. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un combobox existe

Publicado por Ximo (2 intervenciones) el 21/01/2009 18:35:41
Pero el bucle que has puesto, si tengo mas de un combobox me sirve?? Porque tengo un Combobox diferente por cada linea. Y Los tengo Nombrados "combobox_linea1", "combobox_linea2",...etc

Por eso quiero que me busque un determinado combobox llamado combobox_linea1 por ejemplo. No que me me determine si existe algun combobox porque va a haber mas de uno.

Aun no he probado el codigo simplemente lo he visto y me ha parecido que la secuencia del Foreach va a hacer esta secuencia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como saber si un combobox existe

Publicado por Damian (7 intervenciones) el 22/01/2009 22:24:06
Y pero si o si tienes que hacer el bucle para recorrer todos los ComboBox si no como hace por ejemplo supongamos que quieres buscar ese que se llama combobox_linea1:

'Dentro de este if debes hacer otro if
If TypeOf miCbo Is ComboBox Then
if cbo.name="combobox_linea1" then

end if
end if

No puedes preguntar sin el for, si tienes 5 cbos cual de esos 5 es "combobox_linea1", si o si tiene que recorrer hasta que encuentre al que tiene dicho name y una vez encontrado trabajar con el mismo. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar