识别VBA代码

时间:2013-04-26 13:06:38

标签: vba access-vba

嗨,为了给出一些上下文,下面的代码来自前一名员工留给我的Access数据库,不幸的是我不是很擅长VBA。

我很感激帮助确定其目的。

Private Sub Command83_Click()
On Error GoTo Err_Command83_Click

Dim stDialStr As String
Dim PrevCtl As Control
Const ERR_OBJNOTEXIST = 2467
Const ERR_OBJNOTSET = 91
Const ERR_CANTMOVE = 2483

Set PrevCtl = Screen.PreviousControl

If TypeOf PrevCtl Is TextBox Then
  stDialStr = IIf(VarType(PrevCtl) > V_NULL, PrevCtl, "")
ElseIf TypeOf PrevCtl Is ListBox Then
  stDialStr = IIf(VarType(PrevCtl) > V_NULL, PrevCtl, "")
ElseIf TypeOf PrevCtl Is ComboBox Then
  stDialStr = IIf(VarType(PrevCtl) > V_NULL, PrevCtl, "")
Else
  stDialStr = ""
End If

Application.Run "utility.wlib_AutoDial", stDialStr

Exit_Command83_Click:
Exit Sub

Err_Command83_Click:
If (Err = ERR_OBJNOTEXIST) Or (Err = ERR_OBJNOTSET) Or (Err = ERR_CANTMOVE) Then
  Resume Next
End If
    MsgBox Err.Description
    Resume Exit_Command83_Click

End Sub

1 个答案:

答案 0 :(得分:1)

Const ERR _... Error Codes

脚本会检查 PrevCtl 是Text-,List还是ComboBox,并设置 stDialStr 的字符串取决于盒子。最后,它使用给定的参数启动外部AutoDial程序。

Application.Run "utility.wlib_AutoDial", stDialStr