Outlook Wählhilfe (Makro) ohne Box zu modifizieren

Status
Für weitere Antworten geschlossen.

PacmanII

Neuer User
Mitglied seit
18 Jun 2005
Beiträge
74
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

ich habe das Outlook-Makro FBDial von Nicolas alias "saltlake" (Vielen Dank an dieser Stelle für deine Arbeit!) etwas abgeändert. Nun verwendet es nicht mehr Port 1011 (der durch eine Modifikation der Box erst frei geschalten werden musste) um einen Wählvorgang anzustoßen, sondern die Funktionen des Webinterface. Somit arbeitet das Makro auch mit unmodifizierten Boxen zusammen.

outlookmakro7tj.jpg


Getestet habe ich es lediglich auf einer Fritz Box Fon WLAN. Sollte jedoch auch mit anderen Boxen funktionieren.

Ich hoffe ihr habt ein Einsehen mit mir, falls der von mir produzierten Code nicht immer die eleganteste Lösung darstellt. Ich fühle mich eigentlich eher in der C++/Java/Delphi-Ecke zu Hause und hatte mich bisher immer erfolgreich dagegen gewehrt VB auch nur anfassen zu müssen, na ja bis eben halt...

Installation (Text teilweise von Nicolas' geklaut :wink:):
- VisualBasic Editor öffnen (Alt+F11 oder Extras > Makro > VisualBasic Editor)
- Über "Datei > Datei importieren" folgende Dateien importieren: formSelTel.frm, FritzBoxDial.bas, MapiFunctions.bas
- Im Modul FritzBoxDial ganz oben unter "Einstellungen" das Webinterface-Passwort der Box eintragen
- Unter Extras > Verweise... die Komponente "Microsoft WinHTTP Services" aktivieren (mehr dazu unten)

Jetzt kennt Outlook das Makro, wird es aber nicht ausführen, wenn es nicht signiert ist. Wer mag, kann es selbst signieren (dazu unten mehr), ansonsten lassen sich auch noch die Sicherheitseinstellungen unter Extras > Makro > Sicherheit anpassen. Die Sicherheitsstufe muss auf Mittel oder Niedrig. Bei Mittel fragt Outlook beim ersten Start des Makros nach, ob es ausgeführt werden soll.

Nun sollte man noch ein Symbol in die Symbolleiste einfügen, um das Makro starten zu können:
- Extras > Anpassen, Tab Befehle wählen
- Unter Kategorien auf Makros klicken
- Das Makro (...FritzBoxDialMain) auf eine Symbolleiste ziehen
- Beschriftung und Icon lassen sich ändern durch einen Rechtsklick auf das Symbol
- Trick um das Makro auch per Tastenkombination starten zu können: Wenn man beim Namen direkt vor einen Buchstaben das &-Zeichen einfügt, lässt sich das Makro mit Alt+<Buchstabe> starten - also z.B.: Name "&FBDial" => Alt+F startet das Makro.

Voraussetzungen
WinHTTP 5.1, Standard ab
- Windows 2000, Service Pack 3
- Windows XP SP1
Für Windows NT4 gab es die WinHTTP 5.0 als redistributable, welche Microsoft mitlerweile jedoch nicht mehr anbietet :(

Makros signieren:
Wenn ihr eure Sicherheitsstufe für Makros in Outlook nicht anpassen, weil ihr Trojanern und Würmern nicht Tür und Tor offen halten wollt, so gibt es die Möglichkeit Makros zu signieren. Auf das Thema Digitale Signatur / SMIME-Zertifikate / X.509 usw. will ich hier nicht näher eingehen, wenns euch interessiert lest zum Einstieg hier weiter. Mit einem "richtigen" Zertifikat lassen sich auch eMails signieren / entschlüsseln, falls ihr bereits ein solches Zertifikat besitzt, so könnt ihr den nächsten Schritt überspringen und einfach mit eurem Zertifikat gleich das Makro signieren.

1. Besitzt ihr kein Zertifikat, so könnt ihr euch selbst eins Generieren. Office liefert dazu das entsprechende Werkzeug mit. Ein solches Zertifikat ist allerdings nur auf eurem Rechner gültig, taugt nicht zum eMail signieren, und ist in erster Linie nur zum signieren von Makros brauchbar. Wenn ihr bei der Installation von Office den Punkt „Digitale Signatur für VBA-Projekte“ unter „Office Tools“ mit ausgewählt habt so findet ihr unter [Programme]\Microsoft Office\OFFICEXX das Tool "SelfCert.exe". Ansonsten könnt ihr es nachinstallieren, oder auch direkt von CD (\Pfiles\Msoffice\Office) starten. Dort einfach eurem Namen für das Zertifikat eintragen, fertig.

2. Jetzt signieren wir das Makro. Dazu geht in Outlook in den VisualBasic-Editor und wählt Extras -> Digitale Signatur und wählt dort das erzeugte Zertifikat aus. Speichert und beendet den VB-Editor. In Outlook wählt ihr nun unter Extras -> Sicherheit eine Stufe bis zu "Hoch" aus (sehr Hoch funktioniert nicht), beendet Outlook danach und startet es wieder.

3. Ist die Sicherheitsstufe auf "Hoch", so kommt bei ersten Ausführen des Makros eine Sicherheitswarnung, dass das Zertifikat nicht überprüft werden konnte. Ist auch richtig so, schließlich ist das ja kein "richtiges" Zertifikat sondern nur ein selbst signiertes. Nun kann man jedoch auswählen "Makros aus dieser Quelle immer vertrauen" und ist in Zukunft sämtliche Sicherheitsabfragen los, und die Sicherheitsstufe bleibt trotzdem auf "Hoch".


Änderungen:
Änderung am 10.01.2006:
- Der Wählvorgang kann nun (solange der Hörer noch nicht abgenommen wurde) abgebrochen werden
- Fenster wird nach dem Wählen nicht mehr automatisch geschlossen
- In Fenstertitelleiste wird wieder der Name des Kontakts angezeigt
- Landesvorwahl und Amtsholungsziffer als Konstanten hinzugefügt (änderbar)
- Anzeige der tatsächlich gewählten Nummer im Statusfenster

Änderung am 02.01.2006:
- Das Wählen aus einer E-Mail funktioniert nun auch mit Outlook-Versionen vor Outlook 2003 (also Outlook 2000, XP)
- einige Umstrukturierungen im Code (neues Modul).
Änderung am 22.12.2005:
- Wählen direkt aus eine E-Mail möglich (sucht den zur Mail-Adresse gehörigen Kontakt und dessen Telefonnummern) (Danke an marcomarco)
- Unterstützung für weitere Kontaktnummern (Danke an prontoman)
Änderung am 02.12.2005:
- Laufzeitfehler beim Erzeugen des Outlook-Explorer-Objekts behoben. Allgemein den Code des Outlook.Application-Teils etwas entrümpelt.
Änderung am 29.11.2005:
- Einstellungen (Welcher Anschluss, CLIR, Festnetz) werden jetzt gespeichert
- Verbessertes Fehlerhandling, wenn HTTP/Post fehlschlägt
Änderung am 28.11.2005:
- "Verschönerungen" von Ben10 integriert
Änderung am 27.11.2005:
- Unterstützung für S0-Bus der 7050 hinzugefügt

Viel Spaß beim Ausprobieren!
Tobias
 

Anhänge

  • fbdial (http) 2006-01-10.zip
    7.7 KB · Aufrufe: 1,549
Zuletzt bearbeitet:
Hallo Tobias,

prima Idee ! Ich bekomme aber eine Fehlermeldung betreffend die Zeile "Dim http As New WinHttpRequest". Der Variablentyp sei nicht definiert oder ähnl. (bin kein VB-Experte). Ich benutze WindowsXP SP2. Muss ich erst noch irgendetwas "aktivieren" ?

Vielleicht lässt sich das Makro ja übrigens auch funktional noch mit dem BitfbDialer verbinden (z.B. Systray- oder Popup-Fenster bei Rauswahl).

Gruß

FantasticN
 
FantasticN schrieb:
prima Idee ! Ich bekomme aber eine Fehlermeldung betreffend die Zeile "Dim http As New WinHttpRequest". Der Variablentyp sei nicht definiert oder ähnl. (bin kein VB-Experte). Ich benutze WindowsXP SP2. Muss ich erst noch irgendetwas "aktivieren" ?

Hast du auch (wie in der Anleitung beschrieben :wink:) unter Extrax -> Verweise... die "Microsoft WinHTTP Services" aktiviert. Die obige Meldung kam bei mir nämlich immer, wenn ich diese nicht aktiviert hatte.

FantasticN schrieb:
Vielleicht lässt sich das Makro ja übrigens auch funktional noch mit dem BitfbDialer verbinden (z.B. Systray- oder Popup-Fenster bei Rauswahl).

Versteht ich nicht ganz, welche Funktion würdest du dir da genau wünschen? Hab mir den BitfbDialer mal angeschaut. Die Meldung dass man abheben soll, wird bei fbdial ja auch angezeigt, die gewählte Nummer auch, ist ja schließich die, die man gerade angeklickt (oder per Nummernblock 1-9 ausgewählt) hat. Was macht der BitfbDialer da anders, bzw. warum nochmal ein Popup anzeigen?

Gruß Tobias
 
Hy Tobias,

vielen Dank für den Tip. Das war es natürlich. Die Sache hatte ich in Deinem Posting irgendwie übersehen. Nach Aktivierung von WinHTTP Services klappt es jetzt.

Allerdings habe ich eine Frage dazu: Wäre es möglich, neben den analogen Ports (Fon1-3) auch den S0-Bus, also ISDN-Telefone, zu unterstützen ? Ich betreibe nämlich - über eine andere ISDN-Telefonanlage - nur daran meine Telefone. Ich denke viele Leute würden gerne den S0-Bus unterstützt sehen.

Zu der Verbindung mit dem Bitfbdialer:
Aus meiner Sicht wird mit dem bitfbdialer gegenwärtig in eine ähnliche Richtung entwickelt. Was bei diesem Tool noch fehlt, ist das, was Dein Makro genau bereitstellt: Outlook integration. Wenn man gerade die (möglicherweise) künftig zu erwartenden Features von bitfbdialer anschaut, dann wäre es doch sinnlos, solche Sachen allo nochmals separat im Makro zu lösen. Z.B. wäre gegenwärtig bereits die Auswahl des Ports entbehrlich, wenn einfach die Auswahl im bitfbdialer genutzt würde. Umgekehrt wäre es für bitfbdialer entbehrlich, ein Telefonbuch einzurichten, wenn man dieses aus Outlook "importieren" oder direkt aufrufen könnte. Ich bin halt ein Freund von "all-in-one-tools". Momentan könnte eine erste Verbindung bereits dadurch realisiert werden, dass Dein Makro - statt einer eigenen Ansteuerung der Fritzbox - einfach den Bitfbdialer aufruft. Aber das ist - wie gesagt - nur ein Vorschlag.

Gruß

FantasticN
 
FantasticN schrieb:
Allerdings habe ich eine Frage dazu: Wäre es möglich, neben den analogen Ports (Fon1-3) auch den S0-Bus, also ISDN-Telefone, zu unterstützen ? Ich betreibe nämlich - über eine andere ISDN-Telefonanlage - nur daran meine Telefone. Ich denke viele Leute würden gerne den S0-Bus unterstützt sehen.

Ist schon eingebaut (siehe erstet Posting), war keine große Sache. Da ich aber nur die alte FB Fon WLAN ohne S0 habe, hatte ich an die FB 7050 Nutzer gar nicht gedacht. Nun müsste es allerdings funktionieren.

Wegen der Sache mit Ansteuerung des Bitfbdialer über das Makro mache ich mir mal Gedanken. Ich selber benutze bisher den Bitfbdialer nicht, für Anrufmonitoring und Anrufliste benutze ich JFritz. Fürs wählen rein das Outlook-Makro. Würde daher dann eine extra Version des Makros machen, also eine für Leute ohne Bitfbdialer (mit direkter Wahl) und eine, die fürs Wählen den Bitfbdialer aufruft. Wie das Aufrufen funktionieren soll, muss ich mich mal schlau machen. Hab im Moment allerdings einiges fürs Studium zu tun, daher kann das etwas dauern.

Gruß Tobias
 
Super die Modifikation, war echt blöde immer den telnet manuell zu starten wenn die box mal vom strom weg war oder ähnliches und ich nicht zu hause war und hier keiner telefonieren konnte ;)

Habe Optisch das Macro für meinen bedarf noch "verschönert" ;)
 

Anhänge

  • voipdial.jpg
    voipdial.jpg
    17.4 KB · Aufrufe: 480
Ben10 schrieb:
Super die Modifikation, war echt blöde immer den telnet manuell zu starten wenn die box mal vom strom weg war oder ähnliches und ich nicht zu hause war und hier keiner telefonieren konnte ;)

Habe Optisch das Macro für meinen bedarf noch "verschönert" ;)

Super, sieht gleich viel besser aus. Würdest du mir deine Formular-Datei per PN zuschicken? Dann integriere ich sie in den obigen Download, damit auch andere User von deiner "Verschönerung" profitieren können.

Gruß Tobias
 
Hast Post ;)
 
Nochmals großes Lob an Tobias. Das Makro funktioniert jetzt auch einwandfrei mit dem S0-Bus.

Ich finde es auch prima, dass Tobias sich die Mühe macht, Änderungen vorzunehmen, die möglicherweise gar nicht seinen eigenen Interessen dienen.

In Sachen "Synergieeffekte" mit anderen Tools wie JFritz oder - konkret - Bitfbdialer, sollte man mal genau überlegen, wie man da am besten vorgeht. Ich finde jedenfalls, dass sich momentan eine Menge Tools um Einzelfunktionen der FritzBox ranken. Schön wäre es aber, man könnte das irgendwie alles mit einander verbinden.

Gruß

FantasticN
 
Habe das verschönerte Layout von Ben10 übernommen. Die neue Version findet ihr oben im Ausgangsposting.

@FantasticN:
Danke für die Blumen. Hochmotiviert hab ich mich dann gleich mal an eine BitFBFDialer-Version des Makros gemacht. Das Ergebnis findest du hier.

Gruß Tobias
 
Hy Tobias,

vielen Dank ! Mein Kommentar siehe dortiges Posting.
 
Hab wieder ne neue Version vom Makro Online gestellt. Nun werden die Einstellungen, welche man im Wählfenster macht, also welcher Telefonport, ob über Festnetz verbunden oder die Nummer unterdrückt werden soll, in der Registry gespeichert. Wenn man den Dialog dann wieder aufruft ist alles so eingestellt wie beim letzten Mal.

Wen es interessiert: Die Einstellungen werden unter HKEY_CURRENT_USER\Software\VB and VBA Program Settings\fbdial
gespeichert.

Außerdem wurde die Fehlerbehandlung des HTTP/Post verbessert, so dass das Makro nicht gleich abschmiert, wenn die Box (z.B. aufgrund fehlender Netzwerkverbindung) nicht erreichbar ist.

Gruß Tobias
 
Das hört sich gut an :)
Allerdings bekomme ich immer den Fehler :

Fehler : A connection with the server could not be established.

Woran kann es liegen ?
 
ts201 schrieb:
Das hört sich gut an :)
Allerdings bekomme ich immer den Fehler :

Fehler : A connection with the server could not be established.

Woran kann es liegen ?

Ist deine Fritz box auch unter "http://fritz.box" erreichbar? Auf die Weboberfläche lässt sich ohne Probleme zugreifen und auch aus der Anrufliste ein Telefonanruf initiieren? Irgendwelche Firewalls, die die Verbindung stören könnten?

Gruß Tobias
 
Auch von mir ein herzliches Danke für diese tolle "Kleinigkeit". Funktioniert wunderprächtig, bis auf eine Kleinigkeit.
Standardmässig ist das Häkchen bei "Festnetz" NICHT aktiviert. Testweise habe ich es aktiviert und es später wieder deaktiviert.

Aber das merkt sich das Makro nicht. Also mußte ich den entsprechenden Punkt in der Registry selber ändern.....

System:
Windows XP SP2 mit Outlook 2003
 
PacmanII schrieb:
ts201 schrieb:
Das hört sich gut an :)
Allerdings bekomme ich immer den Fehler :

Fehler : A connection with the server could not be established.

Woran kann es liegen ?

Ist deine Fritz box auch unter "http://fritz.box" erreichbar? Auf die Weboberfläche lässt sich ohne Probleme zugreifen und auch aus der Anrufliste ein Telefonanruf initiieren? Irgendwelche Firewalls, die die Verbindung stören könnten?

Gruß Tobias

Danke. Meine Fritzbox läuft auf 192.168.0.1
Allerdings löst das Diagnose Programm die http://fritz.box auf 192.168.178.1 - das darf ja nicht sein. woran kann das liegen ?
 
Danke. Meine Fritzbox läuft auf 192.168.0.1
Allerdings löst das Diagnose Programm die http://fritz.box auf 192.168.178.1 - das darf ja nicht sein. woran kann das liegen ?


Ein Möglichkeit wäre in der lmhost die fritz.box mit einzutragen oder wie ich es gemacht habe in der FitzBoxDial VBDatei das fritz.box durch die IP zu ersetzen...

[php:1:a3f322c638]Open URL As POST request
http.Open "POST", "http://192.168.100.3/cgi-bin/webcm", False[/php:1:a3f322c638]
 
Geocacher schrieb:
Standardmässig ist das Häkchen bei "Festnetz" NICHT aktiviert. Testweise habe ich es aktiviert und es später wieder deaktiviert.

Aber das merkt sich das Makro nicht. Also mußte ich den entsprechenden Punkt in der Registry selber ändern.....

System:
Windows XP SP2 mit Outlook 2003

Also habs gerade ausprobiert und konnte dein geschildertes Verhalten nicht nachvollziehen. Bei mir wird egal ob aktiviert oder deaktiviert immer richtig in der Registry gespeichert. Funktioniert bei dir das Speichern der "Rufnummer unterdrücken" Checkbox?

Achso: das Makro speichert die Einstellungen natürlich nur nachdem eine Nummer gewählt wurde. Also lediglich das Wählfenster öffnen, die Checkbox anklicken und Fenster schließen und öffnen reicht nicht aus.

Gruß Tobias
 
Hallo,
wenn ich das Marko wie beschrieben einrichten erscheint "Lauftzeitfehler" und wenn ich den Debuggmode starte gibt er diese Zeile aus -> "Set cSel = myOlExp.Selection"
Was habe ich falsch gemacht ? :(
grüße solider
 
Ben10 schrieb:
Danke. Meine Fritzbox läuft auf 192.168.0.1
Allerdings löst das Diagnose Programm die http://fritz.box auf 192.168.178.1 - das darf ja nicht sein. woran kann das liegen ?


Ein Möglichkeit wäre in der lmhost die fritz.box mit einzutragen oder wie ich es gemacht habe in der FitzBoxDial VBDatei das fritz.box durch die IP zu ersetzen...

[php:1:5ef20c21dd]Open URL As POST request
http.Open "POST", "http://192.168.100.3/cgi-bin/webcm", False[/php:1:5ef20c21dd]

Danke, so geht es.
Noch 2 Dinge :

a. Wie bekomme ich den Namen des Buttons geändert ? Rechte Maustaste geht irgendwie nicht
b. Nach jedem Outlook neustart, fragt outlook jedesmal wieder neu, ob er das makro aktivieren darf. kann ich es nicht permanent aktivieren ?

Ach ja, ist immer doof, wenn ich eine Verbindung aufbaue und sich dann das fenster gleich schließt... bzw. es sollte sich vielleicht dann schließen, wenn die verbindung besteht - telefont gestartet ist

aber sonst super ! :)
 
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.