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

헌장 ERRPrevCtl 텍스트 ˁ, 목록 또는 콤보이며 의 캐릭터를 설정 stDialStr가에 따라 여부를 Error Codes

스크립트 확인은 _... 상자. 결국 지정된 매개 변수를 사용하여 외부 AutoDial 프로그램을 시작합니다.

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

그리고 양식의 버튼을 클릭하면 실행됩니다. –