Outlook programmierung

E

Eugen Prechel

Hallo Newsgroup,

ich habe von der Programmierung in Outlook wenig Ahnung.
Muss aber ein Makro schreiben, welches bei Termineingabe eine Kopie des
Termins im Öffentlichen Ordner erstellt.

Das Kopieren eines Termins habe ich bereits realisiert:

Dim WithEvents mcolCalItems As Items

Private Sub Application_Startup()
On Error Resume Next
Dim objNS As NameSpace
Set objNS = Application.GetNamespace("MAPI")
Set mcolCalItems = objNS.GetDefaultFolder(olFolderCalendar).Items
Set objNS = Nothing
End Sub

Private Sub mcolCalItems_ItemAdd(ByVal Item As Object)
If MsgBox("Möchten Sie diesen Termin veröffentlichen?", vbYesNoCancel,
"Termin veröffentlichen") = vbYes Then
Dim objApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim objFolder As Outlook.MAPIFolder
Dim objDummy As Outlook.MailItem
Dim objRecip As Outlook.Recipient
Dim objAppt As Outlook.AppointmentItem
Dim strMsg As String
Dim strName As String
On Error Resume Next

Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objDummy = objApp.CreateItem(olMailItem)
Set objRecip = objDummy.Recipients.Add(strName)
On Error Resume Next
Set objFolder = objNS.Folders.Item("Öffentliche
Ordner").Folders.Item("Alle Öffentlichen Ordner").Folders.Item("Termine
Management")
If Not objFolder Is Nothing Then
Set objAppt = objFolder.Items.Add
If Not objAppt Is Nothing Then

With objAppt
.Subject = "[" & Outlook.Application.Session.CurrentUser & "]
" & Item.Subject
.Body = Item.Body
.Start = Item.Start
.Duration = Item.Duration
.End = Item.End

.Save
MsgBox "Nachricht erfolgreich in [" & objFolder.Name & "]
gespeichert", vbInformation

End With
End If
End If

Set objApp = Nothing
Set objNS = Nothing
Set objFolder = Nothing
Set objDummy = Nothing
Set objRecip = Nothing
Set objAppt = Nothing
End If
End Sub



Wird der Termin im lokalen Kalender bearbeitet (auch löschen), so muss er ja
auch im Öffentlichen Ordner bearbeitet (aktualisiert) werden.


Nun meine FRAGE:
Wie kann ich auf den Kopierten eintrag zugreifen?

Ich könnte ja den Betreff vergleichen. Dabei habe ich aber das Problem, dass
das Übergebene Item in "Private Sub mcolCalItems_ItemChange(ByVal Item As
Object)" schon den Verwendeten Betreff enthält: Außerdem übergibt "Private
Sub mcolCalItems_ItemRemove()" gar keinen Item.

Kann mir vielleicht jemand sagen, wie ich das Öffnen des Termins abfangen
kann?
So könnte ich den Betreff (oder das ganze ITEM) für die Spätere Verwednung
zwischenspeichern.

Ich verwende:
Exchange 2000
Windows 20003 Server
Outlook 2000

Ich wäre für jeden Tipp dankbar!

MfG Eugen Prechel
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top