Outlook Wählhilfe (Makro) ohne Box zu modifizieren

Status
Für weitere Antworten geschlossen.
Okay,

zukünftig wird das Einstellungsfenster nicht mehr aufploppen, wenn kein Passwort vorhanden ist.
Ich hab das nur gesagt, weil ich son Ding halt nicht habe. Und nicht testen kann. maik.71 meinte es funktioniert nicht richtig mit einer 7270,
z.B. soll der Name der FB nicht im Einstellungsfenster zu sehen sein.

Kannst du mir sagen was sich an der DB-Struktur der 7270er geändert hat?
Wo liegt die Anrufliste.csv (gibt es die überhaupt noch?)?

Kruemel
 
2 Fragen:
Trotz ensprechender Installation finde ich nicht das Tool zum Erstellen einer digitalen Signatur, so wie das in der Anleitung, auch hier im Thread, dargestellt wurde.
Möglich auch, dass es lediglich in Start-Programm-Microsoft Office Tools nicht aufgeführt ist.
Daher - wo finde ich diese Programm exe im Programme-Ordner, um sie aufzurufen?
Bisher vermeide ich beim Start von Outlook die Meldung wg. Makros aktivieren/deaktivieren nur durch die niedrigste Sicherheitseinstellung, dass will ich natürlich vermeiden.

Nach erfolgreichen Start bekomme ich vom Debugger eine Fehlermeldung "Fehler beim Kompilieren, Variable nicht definiert" und es öffnet sich das Ereignisse Modul, wo ein "olJunkFolder" wohl nicht richtig definiert ist, siehe Bild.
Was kann getan werden?
Nach Beenden des Debuggers funktioniert natürlich der Anrufmonitor nicht.
Wählen mit dem Tab geht.
 

Anhänge

  • olFolderJunk.jpg
    olFolderJunk.jpg
    165.8 KB · Aufrufe: 9
Das Programm ist sicher nicht installiert. Du kannst es aber nachträglich von der Office-CD installieren.
(Falls Sie es nicht installiert haben sollten, können Sie es nachinstallieren, oder auch direkt von CD (\Pfiles\Msoffice\Office) starten.)


Der olJunkFolder-Fix ist in dem Anhang. Einfach die Datei ersetzen.
 
Recht herzlichen Dank für die schnelle Antwort.
Doch, das Signierungs-Tool war installiert, nur eben nicht im Start-Ordner drin. Es handelt sich um SELFCERT.EXE zu finden in C:\Programme\Microsoft Office\Office10, damit konnte ich schon mal die Signierung machen.
Danke auch für das olJunkFolder-Fix, jetzt funktioniert alles wunderbar, ausser, dass beim Outlook-Start immer das Einstellungsfenster geöffnet wird, obwohl doch alle Einstellungen richtig gemacht wurden. Woran liegt das?

Vielen Dank nochmal und tolle Arbeit!!
 
Zuletzt bearbeitet:
Hast du Passwort in der Fritzbox? Wenn nicht, dann kannst du das selber lösen:
Im Modul FritzBox;in der Funktion Initialisierung:
Code:
    If GetINI(DateiPfad, "Optionen", "TBPasswort", "-1") = "-1" Or _
        GetINI(DateiPfad, "Optionen", "Zugang", "-1") = "-1" Or _
        GetINI(DateiPfad, "Optionen", "TBTimeOut", "-1") = "-1" Or _
        GetINI(DateiPfad, "Optionen", "TBIntervall", "-1") = "-1" Or _
        GetINI(DateiPfad, "Optionen", "TBmaxInterv", "-1") = "-1" Or _
        GetINI(DateiPfad, "Optionen", "TBVorwahl", "-1") = "-1" Or _
        GetINI(DateiPfad, "Optionen", "TBFBAdr", "-1") = "-1" Then
            Fehler = True
            Fehlergrund = "Benötigte Einstellungen fehlerhaft! Bitte überprüfen."
            formConfig.Show
    End If
Die Zeile löschen:
Code:
GetINI(DateiPfad, "Optionen", "TBPasswort", "-1") = "-1" Or _
So dass es am Ende so aussieht:
Code:
    If GetINI(DateiPfad, "Optionen", "Zugang", "-1") = "-1" Or _
        GetINI(DateiPfad, "Optionen", "TBTimeOut", "-1") = "-1" Or _
        GetINI(DateiPfad, "Optionen", "TBIntervall", "-1") = "-1" Or _
        GetINI(DateiPfad, "Optionen", "TBmaxInterv", "-1") = "-1" Or _
        GetINI(DateiPfad, "Optionen", "TBVorwahl", "-1") = "-1" Or _
        GetINI(DateiPfad, "Optionen", "TBFBAdr", "-1") = "-1" Then
            Fehler = True
            Fehlergrund = "Benötigte Einstellungen fehlerhaft! Bitte überprüfen."
            formConfig.Show
    End If
Wenn kein Passwort vorhanden ist, wird die Config geöffnet. (formConfig.Show) Das ist aber Plödsinn.:spocht:
Kruemel
 
Jau danke, auch das Problem ist damit gelöst.
Noch eine Kleinigkeit:

- Wo wird eingestellt, dass immer ein # nach der Nummer als Suffix gewählt wird? Soll ja die Wahlprozedur bei VoIP verkürzen. Kann man einstellen, dass das nicht erfolgt?

Ach, wie kann man per Mausklick einfach die Makros alle deaktivieren. Benutze nämlich mein Notebook, was aber auch bedeutet, dass es in wechselnden Umgebungen ausser Haus betrieben wird. Starte ich dann Outlook, kommen natürlich Fehlermeldungen, weil halt keine FritzBox bzw. LAN/WLAN gefunden wird
 
Zuletzt bearbeitet:
Ist ja plötzlich sehr still geworden.
Daher nochmal dringend - wie kann die ganze Makrosammlung möglichst in einem Schritt deaktiviert werden, wenn ich unterwegs bin?
Bisher funktioniert es nur umständlich - entsignieren, Outook neustarten und dann im Sicherheitsdialog deaktivieren.
Sollte es keine Möglichkeit geben, muss ich alles wieder runterschmeissen. Wäre aber Schade drum...
 
- Wo wird eingestellt, dass immer ein # nach der Nummer als Suffix gewählt wird?

Das könntest du evtl. im Telefonbuch so mit Nummer speichern. Hatten wir vor langer Zeit schon mal.
 
Nee, das war´n Missverständnis.
Das Rausrufmakro wählt immer # als Suffix und ich will das unterbinden.
 
Warum bitte unterbinden :confused: Dann dauert der Wählvorgang doch länger.
 
Danke, habe ich gemacht. Mal schauen, was für mich besser ist.
Die Boxen mit neuerer Firmware haben sowieso nicht mehr diese Verzögerung, wenn das # fehlt, sondern eine Art Autoerkennung oder so ähnlich, wenn die Nummer zu Ende gewählt wurde.

Wenn es jetzt noch eine Möglichkeit gibt, die Makros einfach temporär zu disabeln, wäre das die Krönung, ansonsten funktioniert ja alles wunderbar.
 
..bei der Gelegenheit - gibt es eine Möglichkeit, dass Anrufmonitor-Makro so zu gestalten, dass es mit "laufenden" Outlook auch nach Ruhezustand/Standby funktioniert?
Zur Zeit muss nach Rückkehr aus diesen beiden Betriebszuständen entweder Outlook oder der Anrufmonitor selber neu gestartet werden.
 
Würde ich gerne testen. Wo gibts das?

Frohe Weihnachten!
 
auf meinem Rechner. Ist auch noch nicht richtig getestet. Ich wollte das in der 2.33 veröffentlichen. (Die DECT Telefone der 7270 sollen dann auch gehen. Ich weiß nur nocht so richtig ob, wie die DECT-Geräte beim Wählen behandelt werden. Um es genau anzusprechen: Wie lautet der DialPort?)
Kruemel
 
Da ich mit der 7270 nicht weiterhelfen kann - würde es genügen, in das Anrufmonitor-Makro einen Befehl reinzuschreiben, der es bei der Rückkehr endet und neustartet, genau das mache ich ja manuel?
 
DIe beiden Funktionen und das Klassenmodul ersetzen, dann mal wegen den 30 Sekunden Wartezeit schauen. Vielleicht ist das zu viel.
Die TCP Verbindung ist nach dem Ruhezustand unterbrochen (logisch). Nach 30 Sekunden wird das Makro neugestartet.
Einfach probieren. Bei mir ging es.
PHP:
Private Sub AnrMonAktion()
    ' wird durch den Timer regelmäßig ausgeführt
    ' schaut in der FritzBox im Port 1012 nach und startet entsprechende Unterprogramme
    
    Dim FBStatus      As String  ' Status-String der FritzBox
    Dim aktZeile      As String  ' aktuelle Zeile im Status-String
    Dim lenFBStatus   As Long    ' Länge des Status-Strings
    Dim pos           As Long    ' Position in einem String
    Dim posRING       As Long    ' Position von RING im Status-String
    Dim posCALL       As Long    ' Position von CALL im Status-String
    Dim posCONNECT    As Long    ' Position von CONNECT im Status-String
    Dim posDISCONNECT As Long    ' Position von DISCONNECT im Status-String
    Dim bOK           As Boolean ' 'true' wenn Daten vorhanden (wird nicht ausgewertet)
    Dim Dateipfad     As String
    Dim Uhrzeit       As Double
    Dim Wartezeit     As Double
    Dim cmb           As CommandBar         ' FritzBox-Symbolleiste
    Dateipfad = GetSetting("FritzBox", "Optionen", "TBini", "C:\Einstellungen.ini")
    
    ' Funktion wird nur einmal ausgeführt (wenn aktiv = 'false')
    If Not aktiv Then
        aktiv = True
        If tcp.IsDataAvailable(GetINI(Dateipfad, "Optionen", "TBTimeOut", "")) Then
            FBStatus = ""
            bOK = tcp.ReceiveData(FBStatus, lenFBStatus)
            If Not Len(FBStatus) = 0 Then
                LogFile FBStatus
                pos = InStr(FBStatus, Chr(10)) ' Zeilenende suchen und 'FBStatus' zeilenweise auswerten
                Do While Not pos = 0
                    aktZeile = Left(FBStatus, pos)
                    'Schauen ob "RING", "CALL", "CONNECT" oder "DISCONNECT" übermittelt wurde
                    posRING = InStr(aktZeile, "RING")
                    posCALL = InStr(aktZeile, "CALL")
                    posCONNECT = InStr(aktZeile, "CONNECT")
                    posDISCONNECT = InStr(aktZeile, "DISCONNECT")
                    If posCONNECT = posDISCONNECT + 3 Then posCONNECT = 0 '"CONNECT" steckt auch in "DISCONNECT"
                    'je nach Auftreten auswerten
                    If Not posRING = 0 Then
                        AnrMonRING aktZeile, posRING, True, True
                        aktInterv = GetINI(Dateipfad, "Optionen", "TBmaxInterv", "")
                    End If
                    If Not posCALL = 0 Then AnrMonCALL aktZeile, posCALL
                    If Not posCONNECT = 0 Then AnrMonCONNECT aktZeile, posCONNECT
                    If Not posDISCONNECT = 0 Then AnrMonDISCONNECT aktZeile, posDISCONNECT
                    FBStatus = Mid(FBStatus, pos + 1)
                    pos = InStr(FBStatus, Chr(10))
                Loop
            End If
        End If
        
        If Not InStr(1, tcp.ErrorDescription, "Error in ", vbTextCompare) = 0 Then
            Set cmb = Application.ActiveExplorer.CommandBars.Item("FritzBox")
            cmb.FindControl(, , "Anrufmonitor").State = msoButtonUp
            cmb.FindControl(, , "Anrufmonitor").Enabled = False
            LogFile "TCP-IP-Verbindung abgerissen"
            tcp.DeleteErrorDesc
            AnrMonQuit
            Uhrzeit = CDbl(Time)
            LogFile "Es wird ca. 30s bis zum Neustart gewartet"
            Do
                Wartezeit = CDbl(Time) - Uhrzeit
                If Wartezeit < 0 Then Wartezeit = Wartezeit + 1
                DoEvents
            Loop Until Wartezeit >= 30 / 86400
            cmb.FindControl(, , "Anrufmonitor").Enabled = True
            Initialisierung
            Set cmb = Nothing
            Exit Sub
        End If

        ' 'formAnrmon' ausblenden, wenn 'aktInterv=1'
        If aktInterv > 0 Then
            If aktInterv = 1 Then
                formAnrMon.Hide
                Stop_MP3 "FBDB"
            End If
            aktInterv = aktInterv - 1
        End If
        aktiv = False
    End If

End Sub '(AnrMonAktion)
PHP:
Function AnrMonQuit()
    ' wird beim Beenden von Outlook ausgeführt und stoppt den Anrufmonitor
    
    Dim TimerID As Long ' Kennung des verwendeten Timers
    Dim Dateipfad     As String
    Dateipfad = GetSetting("FritzBox", "Optionen", "TBini", "C:\Einstellungen.ini")
    
    TimerID = CLng(GetINI(Dateipfad, "Timer", "IDAnrMon", -1))
    If Not TimerID = -1 Then
        ' Timer stoppen, TCP/IP-Verbindung schließen
        KillTimer 0, TimerID
        WriteINI Dateipfad, "Timer", "IDAnrMon", -1
        LogFile "TimerID " & str(TimerID) & " - gestoppt"
        tcp.ShutdownConnection
        On Error Resume Next     ' Fehlerbehandlung ausschalten
        formAnrMon.Hide
        Stop_MP3 "FBDB"
        On Error GoTo 0          ' Fehlerbehandlung einschalten
        aktiv = False
    End If
End Function '(AnrMonQuit)
 
Ein frohes neues Jahr nachträglich.

Habe verfahren die gefordert, jetzt funktioniert es auch nach Ruhezustand und Standby.
Die Zeit habe ich inzwischen auf 15sec runtergesetzt, ist auch ok.

In der Codezeile stand ja ...30 / 86400. Nehme mal an, dass damit der Sekundenwert als Bruchteil einer 24h-Periode dargestelltwerden, also nur der Zählerwert verändert wird, aber nicht der Nenner?

Ansonsten soll es das von mir gewesen sein, bin jetzt soweit voll zufrieden, auch gibt es nicht mehr wie anfänglich Fehlmeldungen vom Debugger, wenn man nicht in einem LAN/WLAN mit der FritzBox ist, sondern woanders.

Gute Arbeit.
 
Zuletzt bearbeitet:
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.