El procedimiento IsLoadForm retorna un bolean que indica si el formulario solicitado por su nombre se encuentra abierto. Opcionalmente se puede hacer activo si se encuentra en memoria. La función es útil en interfaces MDI.
Public Function IsLoadForm(ByVal FormCaption As String, Optional Active As Variant) As Boolean
Dim rtn As Integer, i As Integer
rtn = False
Name = LCase(FormCaption)
Do Until i > Forms.Count - 1 Or rtn
If LCase(Forms(i).Caption) = FormCaption Then rtn = True
i = i + 1
Loop
If rtn Then
If Not IsMissing(Active) Then
If Active Then
Forms(i - 1).WindowState = vbNormal
End If
End If
End If
IsLoadForm = rtn
End Function
esta bien pero mejor agregar :
dim i as integer
for i=forms.count to 1 setp -1
if forms(i).caption="titulo de ventana" then
msgbox "ventana abierta",32
endif
next i
te explico forms = es la coleccion de ventanas en memoria
por lo tanto ahi esta las ventanas de tu programa que ejecuta
entonces solo debes acceder por un indice a esa coleccion
forms(i) y comparas el caption y listo .... mas facil ;-)
Oe pero si tambien usas el caption en tu funcion ???
de que hablas yo solo mejore tu rutina que esta muy larga
sino es el caption usa otra propiedad que no varie directamente usando constantes :::::::::::