Internet-Telefonie mit Excel-Datenbank möglich?

Hallo zusammen,

ich führe eine Kundendatenbank im OL, die ich nun in Excel exportieren und dort weiterführen will (benötige mehr Felder für Adress-Informationen, wie z. B. Berufsbezeichnung, akad. Grade, Titel usw.). Gibt es nun eine Möglichkeit, auch die Telefon-Nummer aus Excel heraus anzuwählen wie bei OL oder benötigt man irgendwelche zusätzlichen Tools?

Bin dankbar für jeden Tipp auch Literatur!

Herzichst,

Moya

ich führe eine Kundendatenbank im OL, die ich nun in Excel
exportieren und dort weiterführen will (benötige mehr Felder
für Adress-Informationen, wie z. B. Berufsbezeichnung, akad.
Grade, Titel usw.). Gibt es nun eine Möglichkeit, auch die
Telefon-Nummer aus Excel heraus anzuwählen wie bei OL oder
benötigt man irgendwelche zusätzlichen Tools?
Bin dankbar für jeden Tipp auch Literatur!

Hi Moya,
ich denk schon dass das mit Excel geht eine Nummer wählen zu lassen mittels API-Aufrufen. Nachfolgend mal ein Beispielprogramm für Access-Vba von MS. Bei flüchtigem Anschauen könnte der Code, zur Not leicht geändert auch in Excel vba laufen.
Ein Modul erstellst du in Excel indem du Alt+F11 drückst, dann Einfügen --Modul. Dorthinein den Code von „Option Expliocit“ bis "End Function.
Finden kannst du das indem du nach folgenden Stichwörtern in groups googelst
Excel declare nummer wählen
oder auch
declare CreateFile WriteFile CloseHandle
z.B.: http://www.google.de/search?hl=de&q=excel+nummer+w%C…
Allerdings ist das alles sehr heftig für jmd. der evtl. kein Vba kann.
Gruß
Reinhard

Kommunikationen unter Win32 sind, Standard-Windows-Dateifunktionen wie CreateFile(), WriteFile() und CloseHandle() zu verwenden vereinfacht worden. 

Die folgenden Schritte zeigen, wie Sie die DialNumber()-Funktion erstellen, und in Microsoft Access verwenden. 1. Öffnen Sie die Beispieldatenbank "Nordwind.mdb" 
2. Erstellen Sie ein Modul und geben Sie die folgende Zeile in den Deklarationsbereich ein 

Hinweis: für Sie können einige Funktionen Microsoft Windows API in einer vorhandenen in einem Microsoft Access-Bibliothek definiert werden; deshalb können Duplikate für ihre Deklarationen sein. Entfernen Sie oder auskommentieren Sie die Deklarationsanweisung in Ihrem Code, wenn eine doppelte Prozedur-Namensfehlermeldung Ihnen angezeigt wird. 

HINWEIS: alle Declare-Anweisungen müssen genau wie dem Zeigen, Großschreibung einzuschließen, da Win32-Namen abhängig von Großschreibung von Kleinschreibung sind, eingegeben werden. Erstellen oder Sie Alias-Klausel für Declare-Anweisungen Anweisungen von ein vorhandenes Alias nicht haben, um Beheben von Fehlern von Ihnen oder anderen bei dem Verwenden Declare-Anweisungen oder von ihre zu erleichtern. Spielt, wie der Funktionsname groß geschrieben wird, nicht, sol. das Alias richtig geschrieben und groß geschrieben wird. 
 Option Explicit
 Declare Function WriteFile& Lib "kernel32" \_
 (ByVal hFile As Long, lpBuffer As Any, \_
 ByVal nNumberOfBytesToWrite&, \_
 lpNumberOfBytesWritten&, ByVal lpOverlapped&amp:wink:
 Declare Function CreateFile& Lib "kernel32" Alias "CreateFileA" \_
 (ByVal lpFileName$, ByVal dwDesiredAccess&, \_
 ByVal dwShareMode&, ByVal lpSecurityAttributes&, \_
 ByVal dwCreationDisposition&, ByVal dwFlagsAndAttributes&, \_
 ByVal hTemplateFile&amp:wink:
 Declare Function CloseHandle& Lib "kernel32" (ByVal hObject&amp:wink:
 Declare Function FlushFileBuffers& Lib "kernel32" (ByVal hFile&amp:wink:

 ' The number of seconds to wait for the modem to dial before
 ' .. resetting the modem. If the phone hangs up prematurely
 ' .. try increasing this value by small increments.
 Public Const WAITSECONDS = 4

 Public Const ID\_CANCEL = 2
 Public Const MB\_OKCANCEL = 1
 Public Const MB\_ICONSTOP = 16, MB\_ICONINFORMATION = 64


3. Geben Sie folgende Prozedur ein 
 Function DialNumber(PhoneNumber, CommPort As String)
 ' PURPOSE: To dial a telephone number using the computer's modem
 ' ARGUMENTS:
 ' PhoneNumber: The telephone number to dial
 ' CommPort: The communications port the modem is connected
 ' to. Typically, modems are found on COM2, however,
 ' they can be configured for any COM port.
 '
 ' EXAMPLE:
 ' Type the following in the Immediate window using a modem
 ' connected to the COM2 port:
 '
 ' ? DialNumber("555-1212", "COM2")
 '
 ' \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

 Dim Msg As String, MsgBoxType As Integer, MsgBoxTitle As String
 Dim bModemCommand(256) As Byte, ModemCommand As String
 Dim OpenPort As Long
 Dim RetVal As Long, RetBytes as Long, i as integer
 Dim StartTime

 ' Ask the user to pick up the phone.
 Msg = "Please pickup the phone and choose OK to dial " \_
 & PhoneNumber
 MsgBoxType = MB\_ICONINFORMATION + MB\_OKCANCEL
 MsgBoxTitle = "Dial Number"
 If MsgBox(Msg, MsgBoxType, MsgBoxTitle) = ID\_CANCEL Then
 Exit Function
 End If

 ' Open the communications port for read/write (&HC0000000).
 ' Must specify existing file (3).
 OpenPort = CreateFile(CommPort, &HC0000000, 0, 0, 3, 0, 0)
 If OpenPort = -1 Then
 Msg = "Unable to open communication port " & CommPort
 GoTo Err\_DialNumber
 End If

 ' Send the telephone number to the modem.
 ModemCommand = "ATDT" & PhoneNumber & vbCrLf
 ' Pack the string in a Byte array.
 For i = 0 To Len(ModemCommand) - 1
 bModemCommand(i) = Asc(Mid(ModemCommand, i + 1, 1))
 Next

 ' Write the string to the Com port.
 RetVal = WriteFile(OpenPort, bModemCommand(0), \_
 Len(ModemCommand), RetBytes, 0)
 If RetVal = 0 Then
 Msg = "Unable to dial number " & PhoneNumber
 GoTo Err\_DialNumber
 End If

 ' Flush the buffer to make sure it actually wrote
 RetVal = FlushFileBuffers(OpenPort)

 ' Wait WAITSECONDS seconds for the phone to dial.
 StartTime = Timer
 While Timer