1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Fernando

Beiträge von Fernando

  • Datumsformat mit _ExcelNumberFormat macht Schwierigkeiten

    • Fernando
    • 30. Oktober 2012 um 19:47

    gelöst mit ??

    Dateien

    test.zip 21,45 kB – 343 Downloads
  • Lochkarten codieren

    • Fernando
    • 28. Oktober 2012 um 01:59

    Schon richtig verstanden, die Lochkarte hat 80 Spalten. Das sind 80 Zeichen die darauf abgelegt werden können. eine "-4" sind schon 2 Zeichen. Damit die Lochkarten nicht falsch in den Leser gelegt werden konnten, waren sie oben links angeschrägt. Das schönste Ereignis war, wenn so ein Stapel von Karten mal aus der Hand rutschte und die Karten waren nicht gekennzeichnet.
    Das war noch EDV zum anfassen :D

  • Excel ist geöffnet, Wie übernehme ich die Datei und wechsle in Sheet 2

    • Fernando
    • 27. Oktober 2012 um 22:52

    Läuft, Danke

  • NCID Anrufmonitor

    • Fernando
    • 27. Oktober 2012 um 21:15

    Hi Bugfix, kein Problem, ich bewege mich zum ersten mal registriert in einem Forum und bin noch nicht so ganz mit der Materie vertraut. Werde mich bessern. ;) Habe nach langem Suchen auch schon die Antwort für mein Problem gefunden. :)

  • NCID Anrufmonitor

    • Fernando
    • 26. Oktober 2012 um 17:17

    Mit meinem ersten Beitrag war wohl etwas schief gelaufen. Bis auf die Bilddatei ist nichts im Forum zu finden. Hier noch einmal.
    Ich bin vor 4 Tagen bei der Lösung meiner Probleme (EasyBox) auf dieses Forum gestoßen und war von dem Code von JaneDoe begeistert. Bislang hatte ich noch nichts von Autoit gehört, habe aber ein wenig Erfahrung mit VBA Excel. Autoit habe ich mir runtergeladen und dazu den Code von JaneDoe (Danke! :) ). Diesen habe ich umgeschrieben, so dass die Daten jetzt in eine Exceltabelle geschrieben werden. Excel erledigt dann die weiteren Aufgaben (entfernen doppelter Sätze, formatieren, zuordnen des Namens etc. Bei Bedarf bin ich gerne Bereit, das Workbook zur Verfügung zu stellen.
    Hier der geänderte Code:

    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Res_SaveSource=y
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include "Inet.au3"
    #include "Array.au3"
    #include "Excel.au3"

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

    ;####################################################################
    ; Anruflisten auslesen für Router Model:
    ; EasyBox 803 A (und vermutlich andere...)
    ; | By JaneDoe
    ;####################################################################
    ; 26.10.2012 | geändert um Excel-Datei zu füllen | Georg Häusler
    ;####################################################################

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

    Global $EB_IP ="192.168.2.1" ; router ip
    Global $EB_Username ="root" ; standart ist: root
    Global $EB_Passwort ="123456" ; standart ist: 123456
    Global $ArrayIncoming,$ArrayOutgoing,$EB_Anrufliste,$EB_Start,$Error_Check

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

    DIM $sFilePath_01 ; Excelpfadvariable
    Dim $Reihe, $SpalteDatum, $SpaltePhone, $SpalteDauer ; Excelvariablen

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

    $sFilePath_01 = "Pfad und Dateiname eintragen" ; Excelpfad und Dateiname eintragen
    $oExcel_01 = _ExcelBookOpen($sFilePath_01)
    If @error = 1 Then
    MsgBox(0, "Fehler!", "Das Excel-Objekt konnte nicht erstellt werden")
    Exit
    ElseIf @error = 2 Then
    MsgBox(0, "Fehler!", "Die Datei existiert nicht!")
    Exit
    EndIf

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

    _ExcelSheetActivate($oExcel_01, 2)

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

    $Error_Check = _EB_GetAnrufliste()

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

    _ExcelBookClose($oExcel_01,1,0)

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

    ;If ubound($ArrayIncoming)<>0 then _ArrayDisplay($ArrayIncoming,"Eingehende Anrufe")

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

    ;If ubound($ArrayOutgoing)<>0 then _ArrayDisplay($ArrayOutgoing,"Ausgehende Anrufe")

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

    exit

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

    ;###############################################
    ; Routerlogin und Anrufliste auslesen
    ;###############################################
    Func _EB_GetAnrufliste()
    $Error_Check = "None"
    Local $EB_Strip,$EB_Eintraege
    Local $EB_Login = _INetGetSource("http://" &$EB_IP& "/cgi-bin/login.exe?user=" &$EB_Username& "&pws=" &$EB_Passwort)
    if Stringlen($EB_Login)=0 then
    $Error_Check = "Fehler: Bitte Zugangsdaten überprüfen" ; falsche zugangsdaten
    Else
    $EB_Strip = StringInStr($EB_Login, 'Login gescheitert.')
    if $EB_Strip < 0 then ; gefunden = nicht eingelogt
    $Error_Check = "Fehler: Keine Einträge in der Anruferliste." ; fehler...
    else ; eingelogt
    $EB_Anrufliste = _INetGetSource("http://" &$EB_IP& "/voip_status.stm")
    if Stringlen($EB_Anrufliste)=0 then
    $Error_Check = "Fehler: Konnte Anruferliste nicht öffnen." ; fehler...
    Else
    $EB_Start = StringInStr($EB_Anrufliste, 'voip_i_Phone[0]') ; lade anrufer
    if $EB_Start = 0 then ; nichts gefunden
    $Error_Check = "Keine Einträge in der Anruferliste gefunden." ; fehler...
    else ; sortiere anrufer...
    $Reihe = 1
    $SpalteDatum = 1 ; Exceleinträge eingehende Anrufe
    $SpaltePhone = 3 ; Exceleinträge eingehende Anrufe
    $SpalteDauer = 4 ; Exceleinträge eingehende Anrufe
    $ArrayIncoming=_SortAnrufer("i")
    endif
    ;########
    $EB_Start = StringInStr($EB_Anrufliste, 'voip_o_Phone[0]') ; lade anrufe
    if $EB_Start = 0 then ; nichts gefunden
    $Error_Check = "Keine Einträge in der Anrufliste gefunden." ; fehler...
    else ; sortiere anrufe...
    $Reihe = 1
    $SpalteDatum = 7 ; Exceleinträge ausgehende Anrufe
    $SpaltePhone = 9 ; Exceleinträge ausgehende Anrufe
    $SpalteDauer = 10 ; Exceleinträge ausgehende Anrufe

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

    $ArrayOutgoing=_SortAnrufer("o")
    endif
    endif
    endif
    endif

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

    Return $Error_Check
    EndFunc
    ;###############################################
    ; Anruflisten sortieren in Nr.Datum.Dauer
    ;###############################################
    Func _SortAnrufer($EB_Sort)
    Dim $EB_Array
    Local $EB_ResultArray[1][3], $EB_Lenght, $EB_End, $EB_GetStr
    Local $ArSize=0, $ArRegEx, $EB_Anrufer, $EB_Date, $EB_Lenght
    $EB_End = StringInStr($EB_Anrufliste, 'var '&$EB_Sort&'_count=') ; ende der einträge finden
    $EB_GetStr = $EB_End-$EB_Start ; zeichen berechenen zum ausschneiden
    $EB_Eintraege = StringMid($EB_Anrufliste, $EB_Start, $EB_GetStr) ; telefonliste ausschneiden
    $EB_Array = StringSplit($EB_Eintraege, @CRLF) ; telefonliste in array splitten

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

    For $i = 1 To UBound($EB_Array)-1 ; jeden eintrag abklappern...
    ; voip_i_Phone[x] = 'suchtext';
    $ArRegEx = StringRegExp($EB_Array[$i], "(?i)voip_" & $EB_Sort & "_Phone([^;]*)", 1) ; 1 regex
    if not @Error then $ArRegEx = StringRegExp($ArRegEx[0], "(?i)'([^']*)", 1) ; 2 regex...profi kann da sicher 1 regex machen :)
    if not @Error then $EB_Anrufer = $ArRegEx[0]

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

    ; voip_i_Date[x] = 'suchtext';
    $ArRegEx = StringRegExp($EB_Array[$i], "(?i)voip_" & $EB_Sort & "_Date([^;]*)", 1) ; 1 regex
    if not @Error then $ArRegEx = StringRegExp($ArRegEx[0], "(?i)'([^']*)", 1) ; 2 regex...profi kann da sicher 1 regex machen :)
    if not @Error then $EB_Date= $ArRegEx[0]

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

    ; voip_i_Keep[x] = 'suchtext';
    $ArRegEx = StringRegExp($EB_Array[$i], "(?i)voip_"&$EB_Sort&"_Keep([^;]*)", 1) ; 1 regex
    if not @Error then $ArRegEx = StringRegExp($ArRegEx[0], "(?i)'([^']*)", 1) ; 2 regex...profi kann da sicher 1 regex machen :)
    if not @Error then
    $EB_Lenght = $ArRegEx[0]

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

    ReDim $EB_ResultArray[$ArSize+1][3] ; neuer eintrag mit gefundenen daten...
    $EB_ResultArray[$ArSize][0]= $EB_Anrufer ; anrufer nummer
    $EB_ResultArray[$ArSize][1]= $EB_Date ; anrufer datum und zeit
    $EB_ResultArray[$ArSize][2]= $EB_Lenght ; anruf dauer oder 00:00:00 = anruf verpasst
    $ArSize+=1

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

    _ExcelWriteCell($oExcel_01, $EB_Lenght, $Reihe , $SpalteDauer)
    _ExcelWriteCell($oExcel_01, $EB_Date, $Reihe , $SpalteDatum)
    _ExcelWriteCell($oExcel_01, $EB_Anrufer, $Reihe , $SpaltePhone)
    $Reihe = $Reihe + 1

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

    endif
    next
    Return $EB_ResultArray
    EndFunc

    [/autoit]

    Das das so gut geklappt hat, war eine schöne Erfahrung. Demnächst möchte ich mich mit dem GUI beschäftigen.
    Im Moment habe ich aber ein anderes Problem und bitte da um Hilfe.
    Wie stelle ich im Programm fest, ob eine EXCEL-Datei geöffnet ist, und wie spreche ich dann diese Datei an, so dass ich meine Daten dort abladen kann.
    Vielen Dank im Voraus
    Fernando

  • NCID Anrufmonitor

    • Fernando
    • 26. Oktober 2012 um 16:06

    Bilddatei

    Bilder

    • Microsoft Excel - Gespr
      • 47,56 kB
      • 1.137 × 132

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™