Outlook Wählhilfe (Makro) ohne Box zu modifizieren

Status
Für weitere Antworten geschlossen.
Also die Sache mit der Pfadangabe scheint wirklich heikel zu sein. Ist ja nun eine Funktion drin, die die Variablen an alle Übergibt und zugleich Ordner erstellen kann. Allerdings macht die Fehler. Wenn ich z.B. einen zusätzlichen Ordner in den Pfad eingebe erstellt er einen Einstellungen.ini-Ordner!!! Wenn ich stattdessen z.B. /Anwendungsdaten/FRITZ! (der ist schon vorhanden) nehme krieg ich immer die "Fehler, der Ordner konnte nicht erstellt werden" obwohl er korrekt dahin speichert!
 
Hi kruemelino

ich habe da schon mal rumprobiert - wie auch schmidtedv bemerkt hat - entstehen auch bei mir je nach Angabe mal ein Ordner mit Einstellungen.ini oder nur die Datei
ich habs nun so hingekriegt, das er im C:\ verzeichnis eine Datei "Einstellungen.ini" erstellt.
Diese ist auch aus meiner Sicht OK - es werden auch die fritz.box... erreicht und das wählen funzt ja auch toll.
- Nur das mit dem Anrufmonitor und den restl. Symbolanzeigeelementen haut nicht hin !?
-ist das auch noch ein INI - Problem ?

Klaus
 
...noch was...der automatische Journalimport beim Start funktioniert nur, wenn auch der anrufmonitor automatisch gestartet wird...normal? Wenn dem so ist, sollte das noch einen Hinweistext erhalten!
 
Jaaa da ist ein Bug!

Hab ich auch gerade festgestellt. Der Speicherort der inidatei wird falsch erstellt. Sorry an der Stelle. Ich werde die Funktion nochmal überarbeiten müssen.
Ich melde mich später nochmal, auch mit antworten zu anderen Fragen.

Kruemel

Fortsetzung:

Die Funktion OrdnerErstellen hat falsch gearbeitet. Zu finden ist sie in formConfig.

Ich lad sie gleich hoch...

mfg Kruemel
 
Zuletzt bearbeitet:
Hm, also ich bekomme die gleiche Fehlermeldung...
 

Anhänge

  • sshot-1.jpg
    sshot-1.jpg
    74.6 KB · Aufrufe: 16
Naja, also der Ordner ist ja eh vorhanden. Es sollte ja dann eigentlich erkannt werden, das er da ist und somit zumindest ein "Erstell-Problem" gar nicht erst auftreten. Wähle ich C: so schreibt er als Pfad C:\\Einstellungen.ini (ich glaube da hat sich ein Slash in die Prüfroutine eingeschlichen?).

Lösche ich den Ordner FritzBox zunächst und setze zurück, so gibt's keinen Fehler beim speichern, da er ja einen Ordner erstellen darf und tut....gehe ich danach noch einmal in die einstellungen und speichere gibts wieder Fehler....


Irgendwie ist die Routine falsch :)
 
Zuletzt bearbeitet:
Test das mal Ich hatte einen dummen Fehler drin, hab den spaß nochmal überarbeitet:
C: > C:\Einstellungen.ini (also wenn kein Dateiname angegeben wurde, wird einer hinzugefügt)
die doppelten Slashs sind rausgeflogen
Fehlermeldungen treten keine mehr auf
 
Zuletzt bearbeitet:
So weit so schön :) Ordner erstellen klappt fehlerfrei, Pfad ändern auch. Ich hab mir erlaubt für meine Übersicht als Standardordner ins Script anwendungsdaten/FRITZ!Box/FritzOutlook.ini zu setzen (also auch nur AppData), da ein Ordner FRITZ! für die Fax-Software da ist und es so leicht unterschiedbar ist, aber dennoch schnell zugeordnet werden kann. Zudem sind alle Dateien nun FritzOutlook, also FritzOutlook.ini / .log / .csv, was auch etwas übersichtlicher ist, oder?

Wähle ich allerdings wieder C: als Pfad zu .ini so macht er trotz deiner Anpassung immernoch C:\\Einstellungen.ini draus, also 2 Slash...

Was hier auch noch nett wäre, wenn die Standard-Pfadangabe für .log und .csv mit der .ini zusammengeführt würde. so wäre es mit Klick auf zurücksetzen einheitlich. Das es manuell geändert vielleicht netter ist, dann für .csv z.B. den Desktop zu nehmen mag ja sein, aber erstmal sollte alles gleich funktionieren, oder?

Ach, und noch eins...der Optionen-Dialog könnte auch für alle Optionen mit Großbuchstaben beginnen....zudem könnte es Fritz!Box Adresse und Fritz!Box Passwort lauten und der Dialog hierzu Allgemeine Einstellungen (mit Sternchen weist du auf die Notwendigkeit ja schon hin). Umgenannt, da kürzer, habe ich hier auch "Anrufmonitor mit Outlook starten".

Hehe, und noch eine Kleinigkeit...sofern ich eine Testanruf mache und nach erfolgreichem aufklappen des Monitors sofort auflege ohne abgenommen zu haben, erhält das Journal einen eintrag mit Dauer 0 stunden statt, wie es passender wäre 0 Minuten...!
 

Anhänge

  • sshot-1.png
    sshot-1.png
    21.5 KB · Aufrufe: 13
Zuletzt bearbeitet:
[...] (also auch nur AppData), FritzOutlook.*
Also den Standardpfad will ich jetzt nicht mehr ändern. Wir haben ja darüber hier gesprochen was besser ist.
Über den Dateinamen lass ich mit mir reden. Ich denke, dass ich alle Dateien ändern werde.
Wähle ich allerdings wieder C: als Pfad zu .ini so macht er trotz deiner Anpassung immernoch C:\\Einstellungen.ini draus, also 2 Slash...
Ich hab 2.37 fast schon fertig, da ist es es gefixt, bzw hab ich die OrdnerErstellen nocheinmal überarbeitet.
Was hier auch noch nett wäre, wenn die Standard-Pfadangabe für .log und .csv mit der .ini zusammengeführt würde. so wäre es mit Klick auf zurücksetzen einheitlich. Das es manuell geändert vielleicht netter ist, dann für .csv z.B. den Desktop zu nehmen mag ja sein, aber erstmal sollte alles gleich funktionieren, oder?
In 2.37 wird es keine Pfadabgabe in der Einstellung mehr geben:
Bei der CSV wird der Speicherort beim Klick auf den Button vom Benutzer ausgewählt.
Die log Datei ist jetzt standardmäßig im gleichen Ordner wie die ini.
Ach, und noch eins[...]
Das Übernehm ich so

Kruemel
 
Zuletzt bearbeitet:
sodele...sieht alles recht gut aus bisher. einzig 2erlei, erstens die Logdatei macht beim Start folgendes:

Code:
01.03.2008 20:10:01 Erfolgreich in die Fritz!Box eingeloggt.
01.03.2008 20:10:01 Initialisierung abgeschlossen! Start...
01.03.2008 20:10:01 TimerID  7909 - gestartet (AnrMon-Timer)
01.03.2008 20:10:01 Erfolgreich in die Fritz!Box eingeloggt.
01.03.2008 20:10:06 Download von 'FritzOutlook.csv' wurde gestartet
01.03.2008 20:10:11 Download von 'FritzOutlook.csv' erfolgreich abgeschlossen.
01.03.2008 20:10:11 'FritzOutlook.csv' wurde erfolgreich ausgewertet.

...ich habe aber gar keine anrufliste runtergeladen, sondern nur Outlook gestartet!!!


Naja, und 2tens ist der dialog noch recht fehlerhaft...die Tooltipps z.B. sind noch korrigierbedürftig, daher hab ich's einfach mal angehangen.

EDIT: Zudem kriegt der download der anrufliste die Meldung im bildanhang und bricht ab! ....dem vorausgesetzt, du hast auch nur da was geändert wie es die Änderungen.txt von dir vorgibt :)

EDIT2: Naja, ist mir fast peinlich, habs nochmal kurz getestet...wähle ich C: wird C:\\ draus, höhö
 

Anhänge

  • formconfig.zip
    12.5 KB · Aufrufe: 5
  • sshot-1.png
    sshot-1.png
    6 KB · Aufrufe: 11
Zuletzt bearbeitet:
sodele...
...ich habe aber gar keine anrufliste runtergeladen, sondern nur Outlook gestartet!!!

EDIT2: Naja, ist mir fast peinlich, habs nochmal kurz getestet...wähle ich C: wird C:\\ draus, höhö

Wenn er das hinschreibt dann macht er es auch, sicherlich hast du das in den Einstellungen angegeben.

Der Fehler tritt bei mir nicht auf. Die Datei wird runtergeladen.

Wenn ich C: eingebe wird ein C:\Einstellungen.ini draus. Liegt also an dir.:spocht:

mfg Kruemel
 
Habe nun nochmal alles verglichen...nix gefunden was auffällig wäre. bin dann in den verweisen von xml 6 auf xml 4 runter...und siehe da, es geht! Könnte es sein, das hier xml 6 anders funktioniert? :)
 
@all und vor allem Bullson: Halte dich vorerst beim Update lieber nicht an die Textdatei im Archiv oder Meldung der zu ändernden Dateien der Updateroutine, geht besser nach der Historie auf http://www.gert-michael.de/FritzBoxDingsBums, denn da stehen die geänderten Dateien der ganzen letzten Versionen. Im Zweifelsfall (wenn man keine eigenen Anpassungen gemacht hat) besser alle Dateien austauschen.

@kruemel: Ein paar Dinge die mir am Code und auf den ersten Blick aufgefallen sind:
  1. Wenn möglich mit case Arbeiten, als Beispiel nurziffern mit case:
    Code:
            c = Mid(TelNr, i, 1)
            Select Case c                ' Einzelnes Char auswerten
            ' Zahlen und Steuerzeichen direkt übertragen.
            Case "0" To "9", "*", "#"
                nurZiffern = nurZiffern + c
            ' Restliche Buchstaben umwandeln.
            Case "A" To "C"
                nurZiffern = nurZiffern + "2"
            Case "D" To "F"
                nurZiffern = nurZiffern + "3"
            Case "G" To "I"
                nurZiffern = nurZiffern + "4"
            Case "J" To "C"
                nurZiffern = nurZiffern + "5"
            Case "M" To "O"
                nurZiffern = nurZiffern + "6"
            Case "P" To "S"
                nurZiffern = nurZiffern + "7"
            Case "T" To "V"
                nurZiffern = nurZiffern + "8"
            Case "W" To "Z"
                nurZiffern = nurZiffern + "9"
            Case "+"
                nurZiffern = nurZiffern + "00"
            End Select
  2. GetDirectory mit neu-button (Or &H40):
    Code:
    Public Function GetDirectory(Msg) As String
    Dim bInfo As BROWSEINFO
    Dim path As String
    Dim r As Long, X As Long, pos As Integer
    With bInfo
        .pidlRoot = 0&
        .lpszTitle = Msg
        .ulFlags = &H1 Or &H40
    End With
  3. Der Text welche Dateien geändert werden sollen, müsste durch VB zusammengestringt werden und zwar wie folgt:
    Die Datei http://www.gert-michael.de/FritzBoxDingsBums/vc.txt auf dem Server bekommt die Auflistung der geänderten Dateien für jede Version auf die aktuelle Version und vorher noch eine Zeile allgemeine Infos wie bisher also z.B.
    INFO:2.37;01.03.2008;75KB
    2.36;fritzbox.bas, formConfig.frm, Definitionen.bas
    2.35;fritzbox.bas, formConfig.frm
    2.34;Definitionen.bas, Ereignisse.cls, formAnrMon.frm, formConfig.frm, formDirektwahl.frm, formJournal.frm, formWählbox.frm, FritzBox.bas
    ALT;Definitionen.bas, Ereignisse.cls, formAnrMon.frm, formConfig.frm, formDirektwahl.frm, formJournal.frm, formWählbox.frm, FritzBox.bas, [alle Dateien]

    Die Meldung "folgende Dateien wurden geändert" muss dann nur die Zeile suchen, die mit der eigenen Versionsnummer beginnt (falls nicht gefunden die mit ALT nehmen), ggf. die Kommas gegen Zeilenumbrüche umtauschen und ausgeben.

    PS: In der Änderungen.txt steht
    fritz.box du meinst wohl fritzbox.bas
  4. Nochmal Vorschlag zur Änderung:
    Code:
    Private Sub TelNrBox_Change()
        Me.ButtonWeiter.Enabled = True
        ' Sicherheit, damit keine leere Nummer übergeben wird
        If Len(Me.TelNrBox.Value) = 0 Then
           Me.ButtonWeiter.Enabled = False
        Else
           If Len(nurZiffern(Me.TelNrBox.Value, "")) = 0 Then
              Me.ButtonWeiter.Enabled = False
           End If
        End If
    End Sub
  5. Direktwahl.frm:
    • Es steht ab Anfang an mit roter Schrift "Statusmeldungen" drin. Besser wäre es m.E.n. das leer zu lassen und nur bei Bedarf zu füllen.
    • Es gibt einen Knopf, mit dem man aus der zu wählenden Nummer gleich einen neuen Kontakt anlegen kann. Für diesen Button wäre ein Tooltip "Rufnummer in Kontakten recherchieren oder neuen Kontakt mit der Rufnummer anlegen" sinnvoll (vielleicht einfach auch nur "Kontakt öffnen").
PS: Die Einstellungen wirken jetzt viel aufgeräumter, super!
[...]@Kruemel: Ist meine PN zu Website & Co. bei dir angekommen?[...]
 
Ich habe meine 7170 upgedatet. Und gleichzeitig ein neues Telefon am selben Kabel angeschlossen. Vorher ein reines Kabelgebundes. Nun ein Schnurloses, was den alten Stecker übernommen hat.
Dies steckt in einer Eumex 521i.
Und leider geht das nun nicht mehr mit der Wahlhilfe (Monitor ist natürlich auf der Box aktiviert. Und wenn ich das gleiche Telefon direkt in die Box stecke und auswähle funktioniert es auch.
ISDN Gerät wird erkannt und ist auch Ausgewählt
Jemand eine Ahnung woran das liegen könnte?


// Tante Edith\\
Es lag daran, dass die Telefonanlage als Telefonanlage konfiguriert war. Diese erhielt die MSN 51. Nun habe ich Sie als Telefoon neu eingerichtet mit einer echten MSN und es funktioniert tadellos.
Gleichzeitig hab ich die Makros auf den neuesten Stand gebracht.
Hat gar nich weh getan :)
Ist mir immer noch Schleierhaft wie etwas so geil funktionieren kann.
Vor 10 Jahren hab ich keine Anstrengung unversucht gelassen um vernünftig MAPI zu bekommen.
Hab dann aufgegeben. Heute ist Festnetz-Telefon bei uns auch nicht mehr Hauptkommunikationsmittel. Aber dennoch ist es nett mit diesem Ding zu arbeiten.
UND NOCHMAL DANKE
 
Zuletzt bearbeitet:
[...]
[*]Wenn möglich mit case Arbeiten, als Beispiel nurziffern mit case:[...]
nurziffern ist eine Funktion, die aus den ersten Programmen übernommen wurde. Sie funktioniert ist aber nicht sonderlich schön, Da geb ich dir recht.
GetDirectory mit neu-button (Or &H40):[...]
Schau ich mir an,
Der Text welche Dateien geändert werden sollen, müsste durch VB zusammengestringt werden und zwar wie folgt:
[...]
Ich find es aber blöd, dass der User eine "große" Datei herunterladen muss. Es wäre sinnvoll, wenn man auf der Homepage eine solche Liste hinterlegt. Da kann dann jeder nachschauen. Oder diese Liste in die zip-Datei beilegen, dann kann man sich den Spaß mit den "folgende Dateien wurden geändert" sparen.
PS: In der Änderungen.txt steht
fritz.box du meinst wohl fritzbox.bas
Ja :-Ö
Nochmal Vorschlag zur Änderung:[...]
Doppeltgemoppelt
Code:
Private Sub TelNrBox_Change()
    ' Sicherheit, damit keine leere Nummer übergeben wird
    If Not Len(nurZiffern(Me.TelNrBox.Value, "")) = 0 Then
        Me.ButtonWeiter.Enabled = True
    Else
        Me.ButtonWeiter.Enabled = False
    End If
End Sub
reicht zu
Direktwahl.frm:

  • Es steht ab Anfang an mit roter Schrift "Statusmeldungen" drin. Besser wäre es m.E.n. das leer zu lassen und nur bei Bedarf zu füllen.
  • Es gibt einen Knopf, mit dem man aus der zu wählenden Nummer gleich einen neuen Kontakt anlegen kann. Für diesen Button wäre ein Tooltip "Rufnummer in Kontakten recherchieren oder neuen Kontakt mit der Rufnummer anlegen" sinnvoll (vielleicht einfach auch nur "Kontakt öffnen").

Du meinst sicher die formWählbox Sicherlich kann man das Statusmeldung entfernen.
Welche auswirkungen das hat, muss ich mal probieren.
Die Zeile
Code:
            formWählbox.labelStatus.Caption = ""
in Wählbox kann dann weg.
Das andere mach ich gleich

Kruemel
 
Zuletzt bearbeitet:
Habe mir gerade überlegt, dass es sinnvoll wäre als Standardwert der FritzBox-Adresse keine IP sondern fritz.box einzugeben.
Testergebnis bei mir: Kommunikation funktioniert (über "Telefone erneut einlesen" getestet). Wenn ich aber Outlook neu starte bekomme ich folgende Fehlermeldung
---------------------------
Microsoft Office Outlook
---------------------------
TCP/IP Fehler

Error in OpenConnection::inet_addr - Case unknown in TCPIP::SetLastErrorCode = 0
---------------------------
OK
---------------------------
Hat jemand eine Idee woran das liegt? Ach ja, noch eine kleiner Verbesserungsvorschlag für formConfig in Private Sub ButtonTelefonliste_Click():
Code:
    If FritzBox.FBLogin(True) Then
        FritzBox.FritzBoxDaten
        TelAnzahl = GetINI(DateiPfad, "Telefone", "Anzahl", "-1")
        If Not TelAnzahl = "-1" Then
            For i = 0 To 16
                TelName = GetINI(DateiPfad, "Telefone", CStr(Nebenstellen(i)), "-1")
                If Not TelName = "-1" Then
                    pos1 = InStr(1, TelName, ";", vbTextCompare)
                    TelNr = Left(TelName, pos1 - 1)
                    TelName = Mid(TelName, pos1 + 1)
                    vorhanden = vorhanden & vbNewLine & TelName & " (" & TelNr & ")"
                End If
            Next
            If Me.Telefonliste.Caption <> vorhanden & vbCrLf & vbCrLf & "Anzahl: " & TelAnzahl Then
                Me.Telefonliste.Caption = vorhanden & vbCrLf & vbCrLf & "Anzahl: " & TelAnzahl
            Else
                MsgBox "Ergebnis: Das erneute Einlesen der Telefone ist hat keine Änderung ergeben.", vbInformation, "Erneutes Einlesen der Telefone aus der Fritz!Box"
            End If
        End If
    Else
        MsgBox "Das erneute Einlesen der Telefone ist nicht möglich. Prüfen Sie das Passwort und die Verbindung zur Fritz!Box!", vbCritical, "Erneutes Einlesen der Telefone aus der Fritz!Box"
    End If
So gibt es auch eine Rückmeldung wenn es keine Änderung gab und man wundert sich nicht, wieso nix passiert. Eventuell könnte man auch eine Nachricht bei Erfolg einsetzen. Nebenbei hat der Dialog einen Titel bekommen.
 
Feststellung: Bei Angabe der Telefonnummer im Outlookformat +xx (0yyyyy) zzzzz - dd und Wahl aus dem Kontakt wird bei einer Rufnummer im Ausland das falsche gewählt, nämlich 00xx0yyyyyzzzzzdd statt 00xxyyyyyzzzzzdd.
In der Form angegeben funktioniert es bei Telefonnummern in Deutschland.
 
Status
Für weitere Antworten geschlossen.
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.