Outlook-pst und VBA?

Hallo,
kann man per VBA auf eine (einfach gespeicherte und nicht eingebundene) pst-Datei zugreifen?
Wenn ja: wie?

LG Tobi@s

Hallo Tobi@s,

kann man per VBA auf eine (einfach gespeicherte und nicht
eingebundene) pst-Datei zugreifen?

kommt drauf an …

Wenn ja: wie?

kommt drauf an…

Wir würden dir gerne helfen, auch wenn dein Beruf nicht gerade dazu einlädt :wink:
Leider ist deine Anfrage unvollständig bzw. unsere Fragen dazu sind umfangreicher als die möglichen Antworten.

Natürlich könnten wir jetzt raten was du meinst und was du da an Software/Hardware hast. Besser als eine Raterunde wäre es, du erläuterst uns mal in ein paar Sätzen mehr, was du eigentlich willst.

VB = Visual Basic = eine Programmiersprache
VBA = Visual Basic for Applications = eine Programmiersprache für Programme (also innerhalb von Programmen)

Da VBA ein Basisprogramm voraussetzt (aus dem der Code ausgeführt wird), wäre es hilfreich zu wissen, mit welchem Programm du denkst, du könntest auf eine PST-Datei zugreifen wollen.

Da sich alle Programmversionen unterscheiden, wäre es auch ganz hilfreich zu wissen, um welche Office/Outlook/etc. Version es sich bei dir handelt.

Das du bestimmt irgendein Windows mit irgendeinem Servicepack einsetzt, lasse ich mal als geraten im Raum stehen.

BTW gibt es hier im Forum auch ein Programmierer-Brett -> Visual Basic

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Ok, sorry. Einspruch stattgegeben.
Es geht um Outlook (ich programmier es für jemanden, weiß nicht genau welche Version er hat) und darum dass er mit einer Software Daten von seinem Handy in Outlook speichern möchte. Dazu erstellt das Programm eine pst-Datei mit den vom Handy kommenden Daten.
Jetzt möchte er gern die eingehenden Daten (hier: Termine) automatisch mit einer Kategorie „verbinden“ und in Outlook speichern.
Und dazu müsste ich wissen wie man so eine pst-Datei liest.

Ach ja: windows xp hab ich auch und was vb und vba ist weiß ich auch :smile:

LG

Hallo LG,

Es geht um Outlook (ich programmier es für jemanden, weiß
nicht genau welche Version er hat)

ähm, wie soll das denn gehen, du programmierst ein Outlook (welches?) für jemanden, dessen Version du nicht kennst?
Wie willst du die entsprechenden Verweise denn einbinden, ohne die Version zu kennen?

und darum dass er mit einer Software

mit irgendeiner Sync-Software (welche?), die beim Händi dabei war!?

Daten von seinem Handy in Outlook speichern möchte.

das macht heutzutage eigentlich jede Händi-Sync-Software.

Dazu erstellt das Programm

-> welches? Das Sync-Programm, oder das von dir programmierte Programm? oder?

eine pst-Datei mit den vom Handy kommenden Daten.

weil die Einstellungen des (Sync-)Programms so eingestellt wurden, dass eine separate PST-Datei erstellt wird, und die Daten nicht sofort ins „normale“ Outlook übernommen werden? warum?

Jetzt möchte er gern die eingehenden Daten (hier: Termine)
automatisch mit einer Kategorie „verbinden“ und in Outlook
speichern.

Kategorien sind keine zu „verbindenden“ Daten, sondern einfach nur zusätzliche Informationen die einzeln pro Datensatz(Termin) gespeichert werden müssen.

Und dazu müsste ich wissen wie man so eine pst-Datei liest.

  • starte MS Access 2000, oder XP, oder 2003, oder 2007
  • installiere den entsprechenden Verweis für Outlook (welche Version auch immer)
  • dann kannst du die PST-Datei per VBA verknüpfen/einbinden
  • nun kannst du auf die Daten zugreifen

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo LG,

Es geht um Outlook (ich programmier es für jemanden, weiß
nicht genau welche Version er hat)

ähm, wie soll das denn gehen, du programmierst ein Outlook
(welches?) für jemanden, dessen Version du nicht kennst?

Wie willst du die entsprechenden Verweise denn einbinden, ohne
die Version zu kennen?

wieso einbinden? Ich will das Tool für Outlook schreiben, in Outlook starten. Da ist nix mit einbinden. Und dass er kein Uralt-Outlook hat nehme ich mal an …

und darum dass er mit einer Software

mit irgendeiner Sync-Software (welche?), die beim Händi dabei
war!?

ist letztendlich nicht von Belang, da die Daten da sind. Punkt. Und wenn ers per hand macht wärs genauso egal.

Daten von seinem Handy in Outlook speichern möchte.

das macht heutzutage eigentlich jede Händi-Sync-Software.

ich weiß nur was er mir sagt. Und er sagt dass diese Software eine pst-datei erstellt.

Dazu erstellt das Programm

-> welches? Das Sync-Programm, oder das von dir
programmierte Programm? oder?

würde ich hier fragen wenn ich bereits ein Programm geschrieben hätte? Natürlich das Sync-Programm.

eine pst-Datei mit den vom Handy kommenden Daten.

weil die Einstellungen des (Sync-)Programms so eingestellt
wurden, dass eine separate PST-Datei erstellt wird, und die
Daten nicht sofort ins „normale“ Outlook übernommen werden?
warum?

keine Ahnung, ist auch nicht Sinn meines Programms herauszufinden warum die pst-Datei erstellt wird. Sinn ist es zu wissen wie ich diese pst-Datei lese.

Jetzt möchte er gern die eingehenden Daten (hier: Termine)
automatisch mit einer Kategorie „verbinden“ und in Outlook
speichern.

Kategorien sind keine zu „verbindenden“ Daten, sondern einfach
nur zusätzliche Informationen die einzeln pro
Datensatz(Termin) gespeichert werden müssen.

ich weiß was Kategorien sind. Deshalb habe ich das Wort auch in Anführungszeichen gestellt.

Und dazu müsste ich wissen wie man so eine pst-Datei liest.

  • starte MS Access 2000, oder XP, oder 2003, oder 2007
  • installiere den entsprechenden Verweis für Outlook (welche
    Version auch immer)
  • dann kannst du die PST-Datei per VBA verknüpfen/einbinden
  • nun kannst du auf die Daten zugreifen

hä? wozu brauch ich Access? Ich will das in Outlook machen! Dann könnte ich es auch über Word oder Excel machen. Das hat er garantiert eher als Access.

Nur die Frage WIE ich auf die Daten der pst-datei zugreife - da habe ich immer noch keine Antwort. Ich weiß wie man auf Txt-dateien zugreift, aber nicht auf pst-Dateien. Und da nutzt mirs nix wenn du schreibst „dann kannst du zugreifen“. Das ahnte ich schon selbst. Nur das WIE fehlt hier noch …

LG aus Sachsen

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo LG,

in Outlook kannst du das z.B. so machen:

Set myOlApp = Outlook.Application
Set mynamespace = myOlApp.GetNamespace(„MAPI“)
mynamespace.AddStore „c:\Test.pst“

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Wolfgang,

das klingt erst mal sehr gut. Sehe gerade aber dass mit „addstore“ die Datei hinzugefügt wird. Wie sieht das aber aus:
a) kann man auf die Datei nicht zugreifen wenn sie nicht hinzugefügt ist?
b) kann man sie anschließend auch wieder löschen?

Hab es mal getestet: kommt der Fehler „Das hinzufügen des persönlichen Informationsspeichers in dieser Sitzung ist fehlgeschlagen“.

Auch überlege ich gerade wie ich herausfinde wie der Ordner heißt unter der die Termine in der Datei liegen …

LG Tobi@s

Set myOlApp = Outlook.Application
Set mynamespace = myOlApp.GetNamespace(„MAPI“)
mynamespace.AddStore „c:\Test.pst“

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Tobi@s,

sorry, dass ich dir nicht gleich geantwortet hatte, ist mir irgenwie durchgegangen.

das klingt erst mal sehr gut. Sehe gerade aber dass mit
„addstore“ die Datei hinzugefügt wird. Wie sieht das aber aus:
a) kann man auf die Datei nicht zugreifen wenn sie nicht
hinzugefügt ist?

Frage: sie soll es denn sonst gehen? Das Programm muss schon die Datei öffnen und rein sehen können.
Stell dir vor, du hast ein Buch im Schrank. Könntest du mir die 145 Seite vorlesen? ohne das Buch zu öffnen?

b) kann man sie anschließend auch wieder löschen?

Die Datei würde ich nicht löschen, es reicht vollkommen den Store (die Verbindung) zu lösen. (auf englisch release)
das kannst du ja (wie im Vorposting erwähnt) auch händisch machen.

Hab es mal getestet: kommt der Fehler „Das hinzufügen des
persönlichen Informationsspeichers in dieser Sitzung ist
fehlgeschlagen“.

das kann an den Benutzerrechten liegen.

Auch überlege ich gerade wie ich herausfinde wie der Ordner
heißt unter der die Termine in der Datei liegen …

einfach im Objektverzeichnis nachsehen

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Tobi@s,

sorry, dass ich dir nicht gleich geantwortet hatte, ist mir
irgenwie durchgegangen.

passiert. Leider brauch ich die Hilfe da ich bei Outlook (noch) absolut Bahnhof verstehe.

das klingt erst mal sehr gut. Sehe gerade aber dass mit
„addstore“ die Datei hinzugefügt wird. Wie sieht das aber aus:
a) kann man auf die Datei nicht zugreifen wenn sie nicht
hinzugefügt ist?

Frage: sie soll es denn sonst gehen? Das Programm muss schon
die Datei öffnen und rein sehen können.
Stell dir vor, du hast ein Buch im Schrank. Könntest du mir
die 145 Seite vorlesen? ohne das Buch zu öffnen?

ja :wink:
nene, kann ich schon nicht. Für mich ist eben die Frage mit dem öffnen: macht er das genauso wie, wenn ich eine txt-Datei über vba öffne oder integriert er die Datei in mein Outlook? Weil - ich will ja nicht seine Daten in meinem PC haben :smile:

b) kann man sie anschließend auch wieder löschen?

Die Datei würde ich nicht löschen, es reicht vollkommen den
Store (die Verbindung) zu lösen. (auf englisch release)
das kannst du ja (wie im Vorposting erwähnt) auch händisch
machen.

gut, scheint also zu sein wie bei einer txt-Datei (wo ich dann ebenfalls die Verbindung lösen kann)

Hab es mal getestet: kommt der Fehler „Das hinzufügen des
persönlichen Informationsspeichers in dieser Sitzung ist
fehlgeschlagen“.

das kann an den Benutzerrechten liegen.

bin Admin, oder meinst du was anderes?

Auch überlege ich gerade wie ich herausfinde wie der Ordner
heißt unter der die Termine in der Datei liegen …

einfach im Objektverzeichnis nachsehen

ich geb mir Mühe :wink:

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo Tobi@s,

nene, kann ich schon nicht. Für mich ist eben die Frage mit
dem öffnen: macht er das genauso wie, wenn ich eine txt-Datei
über vba öffne

nein

oder integriert er die Datei in : mein Outlook? Weil - ich will ja nicht seine Daten in meinem PC haben :smile:

genau so ist es!
aber
du kannst über Systemsteuerung -> Mail
einen neues Profil anlegen, dann hast du SEINE Daten nicht mit deinen zusammen.

Wobei das auch nichts machen würde, da sie separiert werden. du kannst das einfach mal testen:
Datei -> Öffnen -> Outlook-Datendatei

das kann an den Benutzerrechten liegen.

bin Admin, oder meinst du was anderes?

als Admin hast du Rechte auf dem PC im Betriebssystem.

  • möglicher Weise hast du keine Leserechte bei der PST, weil diese schreibgeschützt ist, eine andere Version von Outlook nutzt, oder anders gesichert ist!?

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)