2013-04-26 116 views
1

嗨给一些上下文代码来自一个Access数据库,这是从我以前的员工留给我,不幸的是,我不是很擅长VBA。识别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

常量ERR _...Error Codes

该脚本检查PrevCtl是一个文本 - ,List或ComboBox,并设置的串stDialStr是否取决于框。最后,它会使用给定的参数启动一个外部AutoDial程序。

Application.Run "utility.wlib_AutoDial", stDialStr 
+1

它的目的是当您单击窗体上的按钮时运行。 – 2013-04-26 15:20:35