Post by Christian SchartnerHallo NG,
ich bin verzweifelt - denn ich habe mir das nicht so schwierig vorgestellt!
Ich habe eine neue Telefonanlage (ALCATEL) zu betreuen. Man hat mir
versichert, dass ich mittels TAPI aus meiner Datenbank (ms-access 2003)
heraus die Telefonanlage steuern kann.
Ich wäre schon zufrieden, wenn ich eine einfache Wählfunktion hinbekommen
würde.
Es müßte doch einen einfachen vba-code geben der meine gespeicherten
Telefonnumnern wählt.
Übrigens aus FAQ, KB etc. werd ich nicht einfach nicht schlau.
Vielen Danke für Eure Hilfe.
Ich habe die Wählfunktion aus Access heraus bei einer Siemens Hicom
drin.
Im Formular gibts eine Schaltfläche, die den Wählvorgang startet.
Es wird die Telefonnummer, die in einem Formularfeld steht, an eine
Function übergeben, die den Wählvorgang mach:
Private Sub cmdTel_Click()
On Error GoTo Err_cmdTel_Click
DialNumber (Me!txtTelefon)
Exit_cmdTel_Click:
Exit Sub
Err_cmdTel_Click:
MsgBox Err.Description
Resume Exit_cmdTel_Click
End Sub
Der Code fürs Wählen ist dann in einem Modul ausgelagert:
Option Explicit
Declare Function tapiRequestMakeCall Lib "tapi32.dll" _
(ByVal strNumber As String, ByVal strDummy1 As String, _
ByVal strDummy2 As String, ByVal strDummy3 As String) As Long
Public Const ID_CANCEL = 2
Public Const MB_OKCANCEL = 1
Public Const MB_ICONSTOP = 16
Public Const MB_ICONINFORMATION = 64
Function DialNumber(strPhoneNumber As String)
' Zweck: Eine Telefonnummer wählen
' ARGUMENTE: strPhoneNumber: Die Telefonnummer, die gewählt werden soll
Dim strMsg As String
Dim intMsgBoxType As Integer
Dim strMsgBoxTitle As String
Dim lngRetVal As Long
Dim strTelNummer As String
Dim i As Integer
Dim i1 As String
' Fordere den Benutzer zum Wählen auf.
strMsg = "Bitte Klicken Sie auf OK zum Wählen der Telefonnummer " &
strPhoneNumber
intMsgBoxType = MB_ICONINFORMATION + MB_OKCANCEL
strMsgBoxTitle = "Nummer wählen"
If MsgBox(strMsg, intMsgBoxType, strMsgBoxTitle) = ID_CANCEL Then
Exit Function
Else
' Ausfiltern von nichtnummerischen Zeichen aus der Telefonnummer
For i = 1 To Len(strPhoneNumber) Step 1
i1 = (Mid(strPhoneNumber, i, 1))
If IsNumeric(i1) Then
strTelNummer = strTelNummer & i1
End If
Next i
End If
' Sende die Telefonnummer.
lngRetVal = tapiRequestMakeCall(strTelNummer, "", "", "")
If lngRetVal < 0 Then
strMsg = "Die Telefonnummer " & strPhoneNumber & " kann nicht
gewählt werden."
GoTo Err_DialNumber
End If
Exit Function
Err_DialNumber:
strMsg = strMsg & vbCr & vbCr & "Gehen Sie sicher, das kein anderes
Gerät den Com-Anschluß benutzt."
intMsgBoxType = MB_ICONSTOP
strMsgBoxTitle = "Fehler beim Telefonnummer wählen"
MsgBox strMsg, intMsgBoxType, strMsgBoxTitle
End Function
Vorraussetzung dafür ist natürlich, das der Tapi-Treiber für die
Telefonanlage auf dem Computer installiert ist und in der
Windows-Wählhilfe auch der Treiber entsprechend eingestellt ist.
Grüsse
Roman