1

嗨,提供一些上下文,下面的代码来自前任员工留给我的 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
4

1 回答 1

1

Const ERR_...错误代码

该脚本检查PrevCtl是 Text-、List 还是 ComboBox,并根据 Box设置stDialStr的字符串。最后,它使用给定的参数启动一个外部 AutoDial 程序。

Application.Run "utility.wlib_AutoDial", stDialStr
于 2013-04-26T13:19:52.617 回答