La Web del Programador: Comunidad de Programadores
 
    Pregunta:  2162 - PARÁMETROS OPCIONALES EN VB6? ¿QUE PASÓ?
Autor:  Rodrigo López
Tengo una aplicacion hecha en VB5 que usa funciones con parámetros opcionales. Todo funcionaba bien hasta que se me ocurrió instalar VB6. Abrí mi aplicación desde allí y.... sorpresa!!!! VB6 trata los parámetros opcionales igual que cualquier otro parámetro (la función IsMissing devuelve siempre False, aunque no haya pasado ningún parámetro por el que está declarado como opcional), con un valor por omisión, dependiendo del tipo de dato, si es que no paso ningún parámetro.
Gracias.

  Respuesta:  Alberto Gil
Para poder detectar si un parámetro Opcional se pasa o no a una función el parametro debe declararse de la siguiente manera:

Optional ParamName as Variant

No dandole un valor por defecto ya que si se le da un valor por defecto isMissing(ParamName) es siempre False.