Ansprechpartner (Name, Firma, Telefon) aus "Microsoft CRM 4.0" export zur Telefonanlage (Telefonbuch) Aastra Detewe X320

  • Hallo,

    nachdem ich auch von euch profitiere, möchte ich euch eines meiner Werke zeigen.

    Es handelt sich dabei um einen Telefonbuchkonverter der seine Daten aus dem Microsoft CRM 4.0 in eine Telefonanlage von Aastra Detewe (X320) kopiert.

    Ziel ist es Ansprechpartner (Name, Firma, Telefon) aus dem CRM zu exportieren und in das Telefonbuch der TK zu importieren.

    Sicherlich an vielen Stellen Quick&Dirty Hack, aber vielleicht bringt es ja anderen was.

    Ich freue mich über Feedback.

    Gruß Cornelius

    Spoiler anzeigen
    [autoit]

    #comments-start

    [/autoit] [autoit][/autoit] [autoit]

    Telefonbuchkonverter aus Microsoft CRM 4.0 nach Aastra Detewe X320 Telefonanlage
    Bentötigt:
    Microsoft CRM 4.0
    Microsoft Excel XLS Datei mit Pivottabellen aus MS CRM (Grunddaten)
    Excel 2007
    Win XP mit IE
    OpenOffice 3.x
    Notepad
    X320 Telefonanlage ;)

    [/autoit] [autoit][/autoit] [autoit]

    Fehler:
    Internet-Explorer->CVS Hochladen Fenstern->Keine Automatische Pfadeingabe
    Workarround: Fenster händisch schließen und neu starten

    [/autoit] [autoit][/autoit] [autoit]

    Cornelius Wasmund / 4logistic Ltd.
    #comments-end

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, "Telefonbuchkonverter MS CRM 4 nach Detewe x320", "Telefonbuchkonverter aus Microsoft CRM 4.0 nach Aastra Detewe X320 Telefonanlage." & @CR & @CR & "Bentötigt:" & @CR & @CR & "Microsoft CRM 4.0" & @CR & "Microsoft Excel XLS Datei mit Pivottabellen aus MS CRM (Grunddaten)" & @CR & "Excel 2007" & @CR & "Win XP mit IE" & @CR & "OpenOffice 3.x" & @CR & "Notepad" & @CR & "X320 Telefonanlage :-)" & @CR & "" & @CR & "Fehler:" & @CR & "Internet-Explorer->CVS Hochladen Fenstern->Keine Automatische Pfadeingabe" & @CR & "Workarround: Fenster händisch schließen und neu starten" & @CR & "" & @CR & "Cornelius Wasmund / 4logistic Ltd.")

    [/autoit] [autoit][/autoit] [autoit]

    #Include <Excel.au3>
    #include <Array.au3>
    #include <IE.au3>
    $Pause=1000
    $PauseMsgBox=2
    $excel_aktive_kontakte=@ScriptDir & "\" & "Aktive_Kontakte.xls"
    $excel_aktive_kontakte_tmp=@ScriptDir & "\" & "Aktive_Kontakte_x320.xls"
    $excel_zwischenauswertung1=@ScriptDir & "\" & "Aktive_Kontakte_zwischenauswertung1.xls"
    $OpenOffice='"C:\Programme\OpenOffice.org 3\program\scalc.exe"'
    $x320IP="DEINE IP"
    $x320passwort="DEINPASSWORT"
    $telefonnummern=5000 ; Anzahl Telefonnummern für die Arraygroesse

    [/autoit] [autoit][/autoit] [autoit]

    #comments-start
    ***** Öffne Exceldatei, aktualisiere Daten und kopiere in Array *****
    #comments-end

    [/autoit] [autoit][/autoit] [autoit]

    Local $oExcel = _ExcelBookOpen($excel_aktive_kontakte)
    $aArray1 = _ExcelReadArray($oExcel, 5, 1, 10, 1) ; Senkrecht (vertikal)

    [/autoit] [autoit][/autoit] [autoit]

    ;_ArrayDisplay($aArray1, "Senkrecht") ; DEBUG

    [/autoit] [autoit][/autoit] [autoit]

    WinWaitActive("Microsoft Excel - Aktive_Kontakte.xls")
    Sleep($Pause)
    Send("!{F5}")
    MsgBox(0,"ALT F5","Pivottabelle aktualisiert ALT F5", $PauseMsgBox)
    $aArray1 = _ExcelReadArray($oExcel, 4, 1, $telefonnummern, 1) ; Senkrecht (vertikal) Spalte 1
    $aArray2 = _ExcelReadArray($oExcel, 4, 2, $telefonnummern, 1) ; Senkrecht (vertikal) Spalte 2
    $aArray3 = _ExcelReadArray($oExcel, 4, 3, $telefonnummern, 1) ; Senkrecht (vertikal) Spalte 3
    $aArray4 = _ExcelReadArray($oExcel, 4, 4, $telefonnummern, 1) ; Senkrecht (vertikal) Spalte 4
    $aArray5 = _ExcelReadArray($oExcel, 4, 5, $telefonnummern, 1) ; Senkrecht (vertikal) Spalte 5

    [/autoit] [autoit][/autoit] [autoit]

    ;_ArrayDisplay($aArray1, "Senkrecht") ; DEBUG

    [/autoit] [autoit][/autoit] [autoit]

    _ExcelBookClose($oExcel,0, 0) ; And finally we close out

    [/autoit] [autoit][/autoit] [autoit]

    #comments-start
    ***** Lösche & Öffne Exceldatei Zwischenauswertugn, kopiere in Array in Excelsheet *****
    #comments-end

    [/autoit] [autoit][/autoit] [autoit]

    FileDelete( $excel_zwischenauswertung1 )
    MsgBox(0,"Löschen","1 Lösche alte Zwischenauswertung", $PauseMsgBox)
    Local $oExcel = _ExcelBookNew();
    _ExcelWriteArray($oExcel, 1, 1, $aArray1, 1) ; Schreibe das Array in horizontaler Richtung. Spalte 1
    _ExcelWriteArray($oExcel, 1, 2, $aArray2, 1) ; Schreibe das Array in horizontaler Richtung. Spalte 2
    _ExcelWriteArray($oExcel, 1, 4, $aArray3, 1) ; Schreibe das Array in horizontaler Richtung. Spalte 4
    _ExcelWriteArray($oExcel, 1, 5, $aArray4, 1) ; Schreibe das Array in horizontaler Richtung. Spalte 5
    _ExcelWriteArray($oExcel, 1, 6, $aArray5, 1) ; Schreibe das Array in horizontaler Richtung. Spalte 6

    [/autoit] [autoit][/autoit] [autoit]

    ; Dummylesen von Zelle 1 zur Auswahl der Zelle
    $sCellValue = _ExcelReadCell($oExcel, 1, 1) ; Zelle [$i,1] auslesen

    [/autoit] [autoit][/autoit] [autoit]

    ; Zelle 1 bis 7 in Spalte 1 bis zum Datenende aller Spalten filtern
    WinWaitActive("Microsoft Excel -")
    sleep($Pause)
    Send("^+{RIGHT 6}")
    Send("^+{END}")
    sleep($Pause)
    Send("^+L")

    [/autoit] [autoit][/autoit] [autoit]

    ; Dummylesen von Zelle 1 zur Auswahl der Zelle
    $sCellValue = _ExcelReadCell($oExcel, 1, 1) ; Zelle [$i,1] auslesen

    [/autoit] [autoit][/autoit] [autoit]

    ; Filtermenu ausklappen
    send("!{down}fnnn{Enter}")

    [/autoit] [autoit][/autoit] [autoit]

    ; Textfilter auswählen
    #comments-start
    sleep($Pause)
    send("{down 6}")
    ; "Enthält nicht auswählen" für das Ausfiltern von Zeilen mit "Ergebnis"
    send("{right}")
    sleep($Pause)
    send("{down 5}")
    #comments-end
    WinWaitActive("Benutzerdefinierter AutoFilter")
    send("Ergebnis")

    [/autoit] [autoit][/autoit] [autoit]

    ; Wechsle zum nächsten Filter
    send("{TAB 2}")
    sleep($Pause)
    send("{down 3}")
    sleep($Pause)
    send("{ENTER}")
    send("{ENTER}")

    [/autoit] [autoit][/autoit] [autoit]

    ; Ersetze "(Leer)" durch nichts (loeschen)
    sleep($Pause)

    [/autoit] [autoit][/autoit] [autoit]

    send("^h")
    WinWaitActive("Suchen und Ersetzen")
    Send("(Leer)")
    sleep($Pause)
    Send("!a")
    WinWaitActive("Microsoft Office Excel", "Excel hat die Suche abgeschlossen")
    Send("{Enter}")
    WinWaitActive("Suchen und Ersetzen")
    Send("{ESCAPE}")

    [/autoit] [autoit][/autoit] [autoit]

    ; Schreibe Formel in Zeile 3 Spalte 2 mit Ziel Vollstaendiger Name und Firmenname in einer Zelle zusammmenzufügen
    ; SÄUBERN entfernt alle nicht Druckbaren Zeichen
    _ExcelWriteCell($oExcel, '=SÄUBERN(TEIL(A2;1;12)&",:"&B2)', 2, 3) ; Schreibt in die Zelle [3,2]

    [/autoit] [autoit][/autoit] [autoit]

    ; "Gehe zu" Zelle auswahl
    Send("^g")
    WinWaitActive("Gehe zu")
    Send("C2{ENTER}")

    [/autoit] [autoit][/autoit] [autoit]

    ; Kopiere Inhalt
    Send("^c")

    [/autoit] [autoit][/autoit] [autoit]

    ; "Gehe zu" Zelle auswahl
    Send("^g")
    WinWaitActive("Gehe zu")
    Send("C2:C" & UBound($aArray1) & "{Enter}")

    [/autoit] [autoit][/autoit] [autoit]

    ; Füge Inhalt ein
    Send("^v")

    [/autoit] [autoit][/autoit] [autoit]

    ; "Gehe zu" Zelle auswahl
    Send("^g")
    WinWaitActive("Gehe zu")
    Send("A1{ENTER}")

    [/autoit] [autoit][/autoit] [autoit]

    $sCellValue = _ExcelReadCell($oExcel, 1, 1) ; Zelle [$i,1] auslesen

    [/autoit] [autoit][/autoit] [autoit]

    ; Waehle alles gefilterte aus
    Send("^+{END}")
    sleep($Pause)
    Send("^c")
    sleep($Pause)
    _ExcelBookClose($oExcel,0, 0) ; Excel schliessen

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    FileDelete( $excel_zwischenauswertung1 )
    MsgBox(0,"Löschen","2 Lösche alte Zwischenauswertung", $PauseMsgBox)
    Local $oExcel = _ExcelBookNew();

    [/autoit] [autoit][/autoit] [autoit]

    ; Dummylesen von Zelle 1 zur Auswahl der Zelle (Programmstart feststellen)
    $sCellValue = _ExcelReadCell($oExcel, 1, 1) ; Zelle [$i,1] auslesen
    WinWaitActive("Microsoft Excel -")
    Send("^v")

    [/autoit] [autoit][/autoit] [autoit]

    ; Alte Spalte 1 und 2 (Array1 aArray2 nicht mehr benoetigt, da in aArray3 zusammengefasst
    ; Daher loeschen ;)
    Sleep($Pause)
    _ExcelColumnDelete($oExcel, 1, 2) ; Löscht Spalte 1 und Spalte2
    _ExcelWriteCell($oExcel, "Name", 1, 1) ; Schreibt in die Zelle [1,1]
    _ExcelWriteCell($oExcel, "Festnetz", 1, 2) ; Schreibt in die Zelle [1,2]
    _ExcelWriteCell($oExcel, "Handy", 1, 3) ; Schreibt in die Zelle [1,3]

    [/autoit] [autoit][/autoit] [autoit]

    ; Schreibe Formel in Zeile 4 Spalte 2 mit Ziel Telefon und Mobilrufnummer in einer Zelle zusammmenzufügen
    ; SÄUBERN entfernt alle nicht druckbaren Zeichen
    _ExcelWriteCell($oExcel, '=SÄUBERN(B2&", "&C2)', 2, 4) ; Schreibt in die Zelle [3,2]

    [/autoit] [autoit][/autoit] [autoit]

    ; "Gehe zu" Zelle auswahl
    Send("^g")
    WinWaitActive("Gehe zu")
    Send("D2{ENTER}")

    [/autoit] [autoit][/autoit] [autoit]

    ; Kopiere Inhalt
    Send("^c")

    [/autoit] [autoit][/autoit] [autoit]

    ; "Gehe zu" Zelle auswahl
    Send("^g")
    WinWaitActive("Gehe zu")
    Send("D2:D" & UBound($aArray1) & "{Enter}")

    [/autoit] [autoit][/autoit] [autoit]

    ; Füge Inhalt ein
    Send("^v")

    [/autoit] [autoit][/autoit] [autoit]

    ; Alles auswählen
    send("^a")

    [/autoit] [autoit][/autoit] [autoit]

    ; Ersetze ", " durch nichts (loeschen)
    sleep($Pause)
    send("^h")
    WinWaitActive("Suchen und Ersetzen")
    Send(",")
    sleep($Pause)
    Send("!a")
    WinWaitActive("Microsoft Office Excel", "Excel hat die Suche abgeschlossen")
    Send("{Enter}")
    WinWaitActive("Suchen und Ersetzen")
    Send("{ESCAPE}")

    [/autoit] [autoit][/autoit] [autoit]

    ; "Gehe zu" Zelle auswahl
    Send("^g")
    WinWaitActive("Gehe zu")
    Send("A1" & "{Enter}")

    [/autoit] [autoit][/autoit] [autoit]

    ; Zelle 1 bis 4 in Spalte 1 bis zum Datenende aller Spalten filtern
    WinWaitActive("Microsoft Excel -")
    sleep($Pause)
    Send("^+{RIGHT 3}")
    Send("^+{END}")
    sleep($Pause)
    Send("^+L")

    [/autoit] [autoit][/autoit] [autoit]

    ; "Gehe zu" Zelle auswahl
    Send("^g")
    WinWaitActive("Gehe zu")
    Send("D1" & "{Enter}")
    sleep($Pause)

    [/autoit] [autoit][/autoit] [autoit]

    ; Filtermenu ausklappen
    send("!{down}fnnn{Enter}")
    WinWaitActive("Benutzerdefinierter AutoFilter")
    send("Ergebnis")

    [/autoit] [autoit][/autoit] [autoit]

    ; Wechsle zum nächsten Filter
    send("{TAB 2}")
    sleep($Pause)
    send("{down 3}")
    sleep($Pause)
    send("{ENTER}")
    send("{ENTER}")

    [/autoit] [autoit][/autoit] [autoit]

    ; "Gehe zu" Zelle auswahl
    Send("^g")
    WinWaitActive("Gehe zu")
    Send("A1{ENTER}")

    [/autoit] [autoit][/autoit] [autoit]

    $sCellValue = _ExcelReadCell($oExcel, 1, 1) ; Zelle [$i,1] auslesen

    [/autoit] [autoit][/autoit] [autoit]

    ; Waehle alles gefilterte aus
    Send("^+{END}")
    sleep($Pause)
    Send("^c")
    sleep($Pause)
    _ExcelBookClose($oExcel,0, 0) ; Excel schliessen

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    FileDelete( $excel_zwischenauswertung1 )
    MsgBox(0,"Löschen","3 Lösche alte Zwischenauswertung", $PauseMsgBox)
    Local $oExcel = _ExcelBookNew();

    [/autoit] [autoit][/autoit] [autoit]

    ; Dummylesen von Zelle 1 zur Auswahl der Zelle (Programmstart feststellen)
    $sCellValue = _ExcelReadCell($oExcel, 1, 1) ; Zelle [$i,1] auslesen
    WinWaitActive("Microsoft Excel -")
    Send("^v")
    _ExcelColumnDelete($oExcel, 4, 1) ; Löscht Spalte 4
    sleep($Pause)
    _ExcelBookSaveAs($oExcel, $excel_aktive_kontakte_tmp , "xls", 0, 1)
    If Not @error Then MsgBox(0, "Erfolgreich!", "Die Datei wurde gespeichert.", 3)
    _ExcelBookClose($oExcel, 1, 0)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #comments-start
    ***** Starte OpenOffice zur exportierung in CSV Format
    ***** Excel gibt keine Wahl des Trennzeichen
    #comments-end

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    FileDelete( @ScriptDir & "\Aktive_Kontakte_x320.csv" )
    Run(@ComSpec & " /c " & $OpenOffice & ' ' & @ScriptDir & '\Aktive_Kontakte_x320.xls',"", @SW_MAXIMIZE)

    [/autoit] [autoit][/autoit] [autoit]

    WinWaitActive("Aktive_Kontakte_x320.xls - OpenOffice.org Calc")
    Sleep($Pause)

    [/autoit] [autoit][/autoit] [autoit]

    ; Speichern unter Menü
    Send("^+s")
    WinWaitActive("Speichern unter")
    Sleep($Pause)

    [/autoit] [autoit][/autoit] [autoit]

    ; Auswahl CSV Format
    Send("{TAB}")
    Sleep($Pause)
    Send("{DOWN 14}")
    WinWaitActive("","Text CSV (.csv)")
    Sleep($Pause)
    Send("{ENTER}")

    [/autoit] [autoit][/autoit] [autoit]

    ; Speichern Button
    WinWaitActive("Speichern unter")
    Sleep($Pause)
    Send("!s")

    [/autoit] [autoit][/autoit] [autoit]

    ; Format beibehalten (Kein ODF Format)
    WinWaitActive("OpenOffice.org 3.0")
    Sleep($Pause)
    Send("{ENTER}")

    [/autoit] [autoit][/autoit] [autoit]

    ; Textexport einstellen
    WinWaitActive("Textexport")
    Sleep($Pause)
    Send("{ENTER}")

    [/autoit] [autoit][/autoit] [autoit]

    ; Meldung "Nur die aktive Tabelle/Sheet wurde gespeichert" quittieren
    WinWaitActive("OpenOffice.org 3.0")
    Sleep($Pause)
    Send("{ENTER}")

    [/autoit] [autoit][/autoit] [autoit]

    ; OO.org beenden
    WinWaitActive("Aktive_Kontakte_x320.csv - OpenOffice.org Calc")
    Sleep($Pause)
    Send("!{F4}")
    WinWaitClose("Aktive_Kontakte_x320.csv - OpenOffice.org Calc")
    Sleep($Pause)

    [/autoit] [autoit][/autoit] [autoit]

    #comments-start
    ***** Starte Notepad zur Manipulierung der ersten CSV Zeile
    #comments-end

    [/autoit] [autoit][/autoit] [autoit]

    Run("Notepad.exe " & @ScriptDir & "\Aktive_Kontakte_x320.csv", "", @SW_MAXIMIZE)
    WinWaitActive("Aktive_Kontakte_x320.csv - Editor")
    Sleep($Pause)

    [/autoit] [autoit][/autoit] [autoit]

    ; Zeilenende Zeile1
    Send("{END}")
    Sleep($Pause)

    [/autoit] [autoit][/autoit] [autoit]

    ; Zeilende Text einfügen
    Send(',"XXX"')
    Sleep($Pause)

    [/autoit] [autoit][/autoit] [autoit]

    ; Speichern
    Send("!s")
    WinWaitActive("Editor","speichern", 3)
    if WinActivate("Editor","speichern") then Send("!j")

    [/autoit] [autoit][/autoit] [autoit]

    ; Notepad beenden
    Send("!{F4}")
    if WinActivate("Editor","speichern") then Send("!j")

    [/autoit] [autoit][/autoit] [autoit]

    #comments-start
    ***** Starte IE um Daten ins Telefonbuch der Telefonanlage X320 zu laden
    #comments-end

    [/autoit] [autoit][/autoit] [autoit]

    $oIE = _IECreate ($x320IP, 0)
    WinWaitActive("OpenCom X320 - Windows Internet Explorer","home.asp?state=")
    sleep($Pause)
    Send($x320passwort & "{Enter}")

    [/autoit] [autoit][/autoit] [autoit]

    _IELoadWait ($oIE)
    _IENavigate ($oIE, "http://" & $x320IP & "/config-r/home.asp?app=0&entry=101", 1)
    _IELoadWait ($oIE)

    [/autoit] [autoit][/autoit] [autoit]

    ; Löschen Button anklicken
    $oFrame = _IEFrameGetObjByName( $oIE, "basefrm" )
    $oForm = _IEFormGetObjByName ($oFrame, "SearchForm")
    $oButton = _IEFormElementGetObjByName ($oForm, "Del")
    _IEAction ($oButton, "Click")
    _IELoadWait ($oFrame)

    [/autoit] [autoit][/autoit] [autoit]

    ; Alles löschen Button anklicken
    $oFrame = _IEFrameGetObjByName( $oIE, "basefrm" )
    $oForm = _IEFormGetObjByName ($oFrame, "userForm")
    $oButton = _IEFormElementGetObjByName ($oForm, "DelALL", 1)
    _IEAction ($oButton, "Click")
    _IELoadWait ($oFrame)
    _IENavigate ($oIE, "http://" & $x320IP & "/config-r/home.asp?app=0&entry=105", 1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Datei hochladen auswählen
    $oFrame = _IEFrameGetObjByName( $oIE, "basefrm" )
    $oForm = _IEFormGetObjByName ($oFrame, "userForm")
    $oButton = _IEFormElementGetObjByName ($oForm, "__file_upload_dahlem_impexp__")
    $hwnd = _IEPropertyGet($oIE, "hwnd")
    _IEAction ($oButton, "Click")
    ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}")

    [/autoit] [autoit][/autoit] [autoit]

    ; ***FEHLER***
    ; Schreibt erst nachdem "Auswahlfenster" geschlossen und neu geöffnet wird ....
    sleep($Pause)

    [/autoit] [autoit][/autoit] [autoit]

    ;if WinExists("Datei zum Hochladen auswählen","") then msgbox(0,"ok1","ok1")
    ;WinWait("Datei zum Hochladen auswählen","")
    ;WinWaitActive("Datei zum Hochladen auswählen","")

    [/autoit] [autoit][/autoit] [autoit]

    sleep($Pause)
    sleep($Pause)
    send(@ScriptDir & "\Aktive_Kontakte_x320.csv")
    Send("{ENTER}")

    [/autoit] [autoit][/autoit] [autoit]

    ; Laden Button drücken
    _IELoadWait ($oFrame)
    sleep($Pause)
    $oFrame = _IEFrameGetObjByName( $oIE, "basefrm" )
    $oForm = _IEFormGetObjByName ($oFrame, "userForm")
    $oButton = _IEFormElementGetObjByName ($oForm, "SUBMIT")
    $hwnd = _IEPropertyGet($oIE, "hwnd")
    _IEAction ($oButton, "Click")
    ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}")

    [/autoit] [autoit][/autoit] [autoit]

    _IELoadWait ($oFrame)
    sleep($Pause)

    [/autoit] [autoit][/autoit] [autoit]

    ; Profil auswählen
    $oFrame = _IEFrameGetObjByName( $oIE, "basefrm" )
    $oForm = _IEFormGetObjByName($oFrame, "userForm")
    $oSelect = _IEFormElementGetObjByName($oForm, "sp")
    _IEFormElementOptionSelect($oSelect, "CAO-Mysql-Import", 1, "byText")

    [/autoit] [autoit][/autoit] [autoit]

    ; Ziel-Telefonbuch auswählen
    $oFrame = _IEFrameGetObjByName( $oIE, "basefrm" )
    $oForm = _IEFormGetObjByName($oFrame, "userForm")
    $oSelect = _IEFormElementGetObjByName($oForm, "usrid")
    _IEFormElementOptionSelect($oSelect, "Zentral", 1, "byText")

    [/autoit] [autoit][/autoit] [autoit]

    ; Bestehende Einträge löschen -> JA
    $oFrame = _IEFrameGetObjByName( $oIE, "basefrm" )
    $oForm = _IEFormGetObjByName($oFrame, "userForm")
    $oSelect = _IEFormElementGetObjByName($oForm, "merge")
    _IEFormElementOptionSelect($oSelect, "ja", 1, "byText")

    [/autoit] [autoit][/autoit] [autoit]

    ; Weiter klicken
    $oFrame = _IEFrameGetObjByName( $oIE, "basefrm" )
    $oForm = _IEFormGetObjByName ($oFrame, "userForm")
    $oButton = _IEFormElementGetObjByName ($oForm, "next")
    $hwnd = _IEPropertyGet($oIE, "hwnd")
    _IEAction ($oButton, "Click")
    ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}")

    [/autoit] [autoit][/autoit] [autoit]

    _IELoadWait ($oFrame)
    sleep($Pause)
    $oFrame = _IEFrameGetObjByName( $oIE, "basefrm" )
    $oForm = _IEFormGetObjByName ($oFrame, "imForm")
    $oButton = _IEFormElementGetObjByName ($oForm, "go")
    $hwnd = _IEPropertyGet($oIE, "hwnd")
    _IEAction ($oButton, "Click")
    ControlSend($hwnd, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "{Enter}")

    [/autoit]

    3 Mal editiert, zuletzt von CoWa (17. November 2009 um 14:04)

  • Hi CoWa !

    das Script sieht gut aus
    aber ich kann es nicht testen da ich dieses Telefon buch nciht habe
    was macht eig dieses microsoft programm
    (kostet es was)
    dake für deine antwort

    gruss Simon

  • Hallo Simon,

    danke dir. Hast du Verbesserungsvorschläge?

    Microsoft CRM ist eine Unternehmenssoftware zur Abbildung von Kontakte in Verbindung mit Vertrieb, Marketing, Service und vieles mehr.
    Ziel ist es alles um Kunden(Beziehung, Bindung) ganzheitlich in einer Software abzubilden.
    Microsoft CRM ist eine kostenpflichte Software, die aber z.B. günstig als Microsoft Partner bezogen werden kann.

    Da wir u.a. dort Kontakte/Ansprechpartner mit Telefonnummern hinterlegt haben, war unser Ziel diese Daten automatisiert in unsere TK-Anlage zu bringen, so das wir im Telefonbuch unserer Systemtelefone Unternehmensweit ein aktuelles Telefonadressbuch haben.

    http://de.wikipedia.org/wiki/Microsoft_CRM

    Gruß Cornelius

    P.s.
    Wenn du es testen willst, könnte ich dir für den großteil aller Schritte eventuell ein paar Dummydaten geben.

  • Ich finde es eine gute Idee, haa aber die entsprechende Hardware nicht.

    Anregungen:
    * Send ()-Befehle nicht umgehen?

    Code
    * Anstatt "[autoit][/autoit]" schreibst du "[spoiler][autoit][/autoit][/spoiler]", um ein aufklappbares Rechteck drumherumzulegen.


    MfG tobi_girst

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)