Outlook und öffentliche Ordner

Einbindung von Office-Komponenten wie Word, Excel usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Outlook und öffentliche Ordner

Beitrag von Markus Walter »

Hallo,

hat schon mal jemand per ActiveX Einträge (z. B. Aufgaben) in einen öffentlichen Ordner von Outlook (+Exchange) gesetzt? Einträge im "normalen" Aufgaben-Ordner sind ja kein Problem, aber das Konzept mit den anderen Ordnern erschließt sich mir nicht so wirklich.
Ich müsste auch suchen können, ob eine Aufgabe bereits existiert (anhand einem "eindeutigen" Feld).

Hat jemand eine Idee?
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Outlook und öffentliche Ordner

Beitrag von AUGE_OHR »

Markus Walter hat geschrieben:hat schon mal jemand per ActiveX Einträge (z. B. Aufgaben) in einen öffentlichen Ordner von Outlook (+Exchange) gesetzt?
welche Kombination Outlook / Exchange meinst du nun genau ?

wenn man eine MAPI Verbindung startet, und Outlook noch nicht läuft, dann kommt doch der "Profile auswählen" Dialog. Hier muss "mehr" als nur Outlook stehen.

Dieser Dialog kommt vom "Microsoft CDO (Collobaration Data Object)" womit man eine MAPI Session aufbauen kann

Code: Alles auswählen

Dim objSession As MAPI.Session
Dim MAPISession As Outlook.NameSpace
Set objSession = CreateObject("MAPI.Session")
Set MAPISession = Application.Session
If Not MAPISession Is Nothing Then
   MAPISession.Logon , , True, False
End If
OpenProvider cjCalendarData_MAPI, "Provider=MAPI" 
unter http://www.msxfaq.de/code/mapicdo.htmist nun der Zusammenhang der Versionen Outlook / Exchange dargestellt welche sich grundsätzlich unterscheiden.

wenn man "nur" auf Exchange aus ist, dann such mal nach "EWS (Exchange Web Services)"

wenn man nun Server 2008 SBS, also mit "abgespecktem" Exchange hat, sollte man sich OWA und RCP (Outlook Anywhere) ansehen.
http://www.msexchange.org/articles_tuto ... part1.html

ob du überhaupt an ein anderes Outlook Konto kommst kann du so prüfen:
I made successfull test with MAPI today. You need to make Outlook to be your default program for e-mail, contact and Calendar (check Outlook options!) and RUN Outlook while you running our MFC or VB Calendar.
Open in Outlook remote file \\MyServer\MyFolder\MyOutlook.pst - Outlook will read it and create extra PersonalFolders tree item.
You can rename it as you wich - e.g. YourPersonalFolders

use in VB Load frmMain Private Sub Form_Load() function line:
OpenProvider cjCalendarData_MAPI, "Provider=MAPI;Data Source=\\MyServer\MyFolder\MyOutlook.pst"

Now you can see your event and modify it from MFC or VB app
Btw - I am running VPN, I am in Montreal, \\MyServer\MyFolder\MyOutlook.pst - in USA
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Additional MAPI parameters are supported for data provider connection string:
mapiProfileName= <as string>
mapiPassword= <as string>
mapiFlags= <as hex number, like 0x001>
EXAMPLE:
strConnEx = "Provider=MAPI; mapiProfileName=Outlook2; mapiPassword =Brawn256; mapiFlags=0x00000012"
if you do not specify any parameter - default values will be used:
NULL for ProfileName and Password
and MAPI_LOGON_UI for Flags
Below are values which can be used for mapiFlags.
See also documentation for MAPILogonEx function.
MAPI_LOGON_UI 0x00000001 /* Display logon UI */
MAPI_NEW_SESSION 0x00000002 /* Don't use shared session */
MAPI_ALLOW_OTHERS 0x00000008 /* Make this a shared session */
MAPI_EXPLICIT_PROFILE 0x00000010 /* Don't use default profile */
MAPI_EXTENDED 0x00000020 /* Extended MAPI Logon */
MAPI_FORCE_DOWNLOAD 0x00001000 /* Get new mail before return */
MAPI_SERVICE_UI_ALWAYS 0x00002000 /* Do logon UI in all providers */
MAPI_NO_MAIL 0x00008000 /* Do not activate transports */
MAPI_PASSWORD_UI 0x00020000 /* Display password UI only */
MAPI_TIMEOUT_SHORT 0x00100000 /* Minimal wait for logon resources */

(this is a copy from old - 2008 - answer)
"old answer 2008" - piece of standard MAPI.H file from SDK e.g: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
there are other MAPI-related files in SDK - so may be you can make some research...
gruss by OHR
Jimmy
Benutzeravatar
Markus Walter
Programmier-Gott
Programmier-Gott
Beiträge: 1018
Registriert: Di, 24. Jan 2006 10:22
Wohnort: Saarland

Re: Outlook und öffentliche Ordner

Beitrag von Markus Walter »

Hallo Jimmy,

die Infrastruktur bei dem Anwender kenne ich nicht wirklich. Ich weiß nur, dass er Outlook und einen Exchange-Server hat. Bei dem Anwender hat da auch keiner wirklich Ahnung. Ich dachte, das Backend hinter Outlook müsste mich nicht interessieren, ich würde nur mit Outlook kommunizieren und Outlook würde "den Rest machen".

Ich arbeite eigentlich so:

Code: Alles auswählen

::oOutlook := CreateObject("Outlook.Application")
oObj := ::oOutlook:CreateItem( olTaskItem ) 
So wird auch eine neue Aufgabe erzeugt, aber eben im "persönlichen" Aufgaben-Ordner. Der Anwender verwendet aber einen öffentlichen Ordner für diese Aufgaben (für alle Netzwerkstationen) und da sollte der Eintrag hin. Ich dachte, es gäbe da einfach eine Eigenschaft in der man den Ordner-Namen (oder eine ID) einträgt... Die werden die Aufgaben jetzt halt manuell verschieben (kosten darf das sowieso wieder nichts...).

Aber ich habe jetzt ein neues Problem (siehe neuer Thread).
Gruß
Markus

Mitglied der XUG Saarland-Pfalz
Antworten