2013-04-26 3 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

Const ERR _... являются Error Codes

Скрипт проверяет ли PrevCtl является Шрифтом-, List или ComboBox и устанавливает строку stDialStr в зависимости от Box. В конце он запускает внешнюю программу AutoDial с заданным параметром.

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

И он предназначен для запуска при нажатии кнопки на форме. –

Смежные вопросы