Compartir a través de


Number (propiedad)

Devuelve o establece un valor numérico que especifica un error. Number es la propiedad predeterminada del objeto Err . Lectura y escritura.

Comentarios

Al devolver un error definido por el usuario de un objeto, establezca Err.Number agregando el número seleccionado como código de error a la constante vbObjectError . Por ejemplo, use el código siguiente para devolver el número 1051 como código de error:

Err.Raise Number := vbObjectError + 1051, Source := "SomeClass"

Ejemplo:

El primer ejemplo ilustra el uso normal de la propiedad Number en una rutina de gestión de errores. El segundo ejemplo examina la propiedad Number del objeto Err para determinar si un error devuelto por un objeto Automation fue definido por el objeto, o si fue asignado a un error definido por Visual Basic.

Tenga en cuenta que la constante vbObjectError es un número negativo muy grande que un objeto agrega a su propio código de error a fin de indicar que el error está definido por el servidor. Por lo tanto, si se resta de Err.Number, se extrae del resultado.

Si el error es definido por objeto, el número base se deja en MyError, que aparece en un cuadro de mensaje junto con origen del error. Si Err.Number representa un error de Visual Basic, el número de error de Visual Basic se muestra en el cuadro de mensaje.

' Typical use of Number property
Sub test()
    On Error GoTo out
    
    Dim x, y
    x = 1 / y    ' Create division by zero error
    Exit Sub
    out:
    MsgBox Err.Number
    MsgBox Err.Description
    ' Check for division by zero error
    If Err.Number = 11 Then
        y = y + 1
    End If
    Resume
End Sub
' Using Number property with an error from an 
' Automation object
Dim MyError, Msg
' First, strip off the constant added by the object to indicate one
' of its own errors.
MyError = Err.Number - vbObjectError
' If you subtract the vbObjectError constant, and the number is still 
' in the range 0-65,535, it is an object-defined error code.
If MyError > 0 And MyError < 65535 Then
    Msg = "The object you accessed assigned this number to the error: " _
             & MyError & ". The originator of the error was: " _
            & Err.Source & ". Press F1 to see originator's Help topic."
' Otherwise it is a Visual Basic error number.
Else
    Msg = "This error (# " & Err.Number & ") is a Visual Basic error" & _
            " number. Press Help button or F1 for the Visual Basic Help" _
            & " topic for this error."
End If
    MsgBox Msg, , "Object Error", Err.HelpFile, Err.HelpContext

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.