Mein Beitrag: 'contacts.db' direkt aus Outlook erstellen

  • Hallo,


    ich hab' in den vergangenen Tagen ein bisschen VBA Code geschrieben, mit dem man aus Outlook heraus zunächst SQL-Code erzeugt und den dann per sqlite3 auf eine 'contacts.db' loslässt. Dadurch kann man ohne GoPal Assistenten in jedes beliebige Verzeichnis und mit flexibler Auswahl Kontakte für den ContactViewer aufbereiten.
    Geschrieben und getestet wurde es unter XP mit Outlook 2003 und GoPal 4.5, ich denke aber dass es auch mit anderen Versionen geht (war kein Hexenwerk).
    Man braucht sqlite3.exe und muss den Basic-Code im Outlook importieren, ab da kann man per Makro-Aufruf die Kontakte in Sekundenschnelle in eine 'contacts.db' kopieren.


    Wen's interessiert, der kann sich das kleine Tool runterladen und ausprobieren. Es darf auch beliebig kopiert, weitergegeben, modifiziert etc. werden.


    MfG,
    Christoph

  • Hi Christoph und *willkommen* hier im Forum!


    Na, das ist doch mal ein toller und außergewöhnlicher Einstand, keine Frage, sondern gleich dem Forum ein Super-Tool präsentieren, Klasse! :top Ich bin mir sicher, daß viele ohne das PE-Feature des 'syncen' darauf gewartet haben.

  • Hallo christoph60


    Sehr gut. :top
    Ich habe es im Downloadbereich freigegeben und deine Beschreibung von hier mit dazu kopiert.

    Gruß Navirunner

    GoPal Wiki
    Tipps und Hilfen reinschauen lohnt sich

    **** Bitte keine Supportanfragen per PN, nur über's Forum! ****
    ******** Dann haben auch alle anderen was davon **********

  • Hallo,
    ich bin mal wieder zu blöd!!
    Ich hab das Programm OLContactsDB.zip und sqlite-3_6_6_2.zip heruntergeladen.
    Und komme nicht weiter!
    Starte ich die ContactsDB.bas dann geht bei mir Spybot auf aber sonst passiert nichts.
    Evtl. muss man für mich das auch nur einfacher erklären

    Medion Md 96205 mit GoPal AE 4.52 und Skin von Navirunner

  • Hallo,


    also ich dachte ich hätte es in der README.TXT genau genug beschrieben:


    Das Basic-Modul 'ContactsDB.bas' enthält den Basic-Code. Zum verwenden Outlook starten, per ALT+F11 in den Editor wechseln, per 'Datei'-'Importieren' den Code von ContactsDB.bas laden.
    Bei Bedarf die Konstanten für die Verzeichnisse anpassen.


    Vielleicht aber doch nochmal etwas detaillierter: Du speicherst die 'ContactsDB.bas' aus dem ZIP irgendwo als Datei ab. Dann startest Du Outlook. Per Tastenkombination ALT+F11 geht ein neues Fenster auf und Du landest im Visual Basic Editor. Dort gibt's ein Menü namens 'Datei' bzw. 'File' und darin einen Menüpunkt 'Import' mit Tastenkombination CTRL-M (Deutsch weiß ich nicht, ich hab' nur Englisch). Diesen Punkt 'Import' anklicken und die soeben aus dem ZIP geholte 'ContactsDB.bas' auswählen und damit importieren. Jetzt sollte der ganze Code in einem Fenster des Visual Basic Editors erscheinen. Diesen Code speichern. Dann in die Outlook Kontakte wechseln. Dort ist unter 'Tools' (deutsch vielleicht 'Werkzeuge'?) ein Menüpunkt 'Makro' mit dem Untermenüpunkt 'Makros...'; den anklicken. In der dann erscheinenden Liste das Makro 'ContactsDB' anwählen und auf 'Run' ('Start'?) klicken. Dann startet das Programm und erzeugt aus den Kontakten im Outlook (entweder allen aus einem Ordner oder denen die Du ausgewählt hast) eine 'contacts.db'. Man kann auch oben in der Tool-Leiste eine neue Schaltfläche erzeugen die das Makro 'ContactsDB' startet oder eine Tastenkombination dafür vergeben, aber das steht alles in der Hilfe zu Outlook.


    Versuch's mal, es wird schon klappen.


    Viele Grüße,
    Christoph

  • So, jetzt hier ein Update:


    'heidira' hat einen Fehler im Programm gefunden und behoben. Die Umlaute wurden nicht korrekt auf den Navi dargestellt, weil die Strings nicht in UTF-8 codiert waren. Ich habe ihren Code eingebaut und eine neue Version des ZIP-Files erstellt.


    'navirunner', könntest Du diese neue Version auch in den Download-Bereich übernehmen?


    Schöne Rest-Weihnachten,
    Christoph

  • Hallo christoph60


    ist im Downloadbereich geändert.

    Gruß Navirunner

    GoPal Wiki
    Tipps und Hilfen reinschauen lohnt sich

    **** Bitte keine Supportanfragen per PN, nur über's Forum! ****
    ******** Dann haben auch alle anderen was davon **********

  • Hallo Christoph,
    ich hab alles so gemacht wie beschrieben.
    Es erscheint die Meldung "xx Kontaktbeiträge übertragen". Nachdem ich O.K. gedrückt habe geht ein Fenster auf "Visual Basic" Laufzeitfehler 76 Pfad nicht gefunden.
    wenn ich Debuggen drücke, wird folgende Zeile angezeigt.
    "Open TEMP_PATH & "\" & SQLFILE_NAME For Output As #Outstream"
    Die erstellte Datei finde ich auch nicht.
    Noch eine Frage wofür brauche ich das Programm "sqlite3"


    Mit der Hoffnung nicht zu sehr zu nerven
    Michael

    Medion Md 96205 mit GoPal AE 4.52 und Skin von Navirunner

  • Hallo Michael,


    sorry, ich hatte Urlaub und hab' Dein Posting erst heute gelesen. Das Problem hört sich danach an, als ob es das Verzeichnis nicht gibt, in welches die SQL-Datei reingeschrieben werden soll.
    Die Verzeichnis- und Dateinamen habe ich im Code als Konstanten definiert:


    ' In diesem Verzeichnis befindet sich das Programm SQLITE3.EXE
    Const SQLITE3_PATH As String = "C:\TEMP"


    ' So soll die Datei heissen in der die SQL Statements landen
    Const SQLFILE_NAME As String = "CONTACTS.SQL"


    ' in diesem Verzeichnis wird die SQL-Datei abgelegt
    Const TEMP_PATH As String = "C:\TEMP"


    Ich hab' mir gedacht dass man das getrost einmal beim Anlegen des Codes einstellen kann und dann nie mehr anfassen braucht, deshalb habe ich es als Konstanten definiert. Natürlich muss es die Verzeichnisse auch geben, wenn also TEMP_PATH als "C:\TEMP" definiert ist muss dieses Verzeichnis auch existieren. Wenn Du den Code unverändert übernommen hast versucht das Programm die SQL-Kommandos in die Datei "C:\TEMP\CONTACTS.SQL" zu schreiben und anschliessend diese Datei durch das Programm "C:\TEMP\SQLITE3.EXE" verarbeiten zu lassen. Solltest Du C:\TEMP nicht haben kannst Du es entweder anlegen oder im Code für TEMP_PATH ein anderes, existierendes Verzeichnis eintragen. Genauso ist es mit 'sqlite3.exe'. Die Konstante SQLITE3_PATH muss korrekt auf das Verzeichnis gesetzt sein in dem sich das Programm auch tatsächlich befindet. Dieses 'sqlite3.exe' erstellt nämlich erst die 'contacts.db' in der Form und insbesondere mit dem Inhalt wie es in der SQL-Datei vorgegeben wird. Wenn Du Dir die CONTACTS.SQL anschaust kannst Du Dir bestimmt einen Reim darauf machen. Dort steht u.a. drin CREATE TABLE... (erzeuge eine Datenbanktabelle) und INSERT INTO... (lege einen Datensatz in einer Datenbanktabelle an). Diese Kommandos werden von 'sqlite3.exe' interpretiert und definieren wie die 'contacts.db' aussieht. Wie die Tabellen aussehen müssen ist durch den GoPal Contactviewer vorgegeben, weil der nur ein bestimmtes Format kennt. Welche Inhalte in den Tabellen stehen ergibt sich aus Deinen Kontakten.


    Versuch's mal, wenn's immer noch nicht klappt melde Dich wieder.


    Viel Glück,
    Christoph

  • Hallo Christoph,


    das hat alles prima geklappt, dauert bei mir halt manchmal etwas länger.
    Noch mal Danke für den Support und das tolle Programm.


    Gruß
    Michael

    Medion Md 96205 mit GoPal AE 4.52 und Skin von Navirunner

  • Hallo,
    Ich bin vieleicht total blöd ,kommer aber nicht weiter :smt022 :smt022 :smt022
    bis zu C:\TEMP\CONTACTS.SQ hab ich geschaft...datei sind da,
    aber was und wie ich weiter mit SQLITE3.EXE machen soll ?
    bin mit meinem latein am ende. :smt009 :smt009 :smt009
    Danke.... :)

  • Hallo,
    die Dateien
    SQLITE3.EXE
    contact.sql
    contactdb.bas
    in den Ordner C:/temp kopieren.
    Dann die Aktionen in Outlook ausführen und 2 mal bestätigen.
    Dann liegt die Datei Contacts.db im Ordner C:/temp


    Gruß

    Medion Md 96205 mit GoPal AE 4.52 und Skin von Navirunner

  • Hallo Christoph,


    wo bekomme ich den das Program sqlite3xxx her.
    Habe versucht über deinbe Readme.txt Datei auf die Hompage zu kommen um mir deine vorgeschlagene Version herunter zu laden.
    Bringt aber Error bzw. ich komme nicht an diese Datei heran.
    Kannst du mir evtl. den Link zukommen lassen oder mir die datei per PM zukommen lassen ?


    Wäre supi von dir


    Klaus
    :smt021

    [SIGPIC][/SIGPIC]