Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
24.05.2013 14:20:43 |
Zenic |
|
|
|
24.05.2013 15:19:53 |
Gast89549 |
|
|
|
24.05.2013 15:27:06 |
Gast65957 |
|
|
|
24.05.2013 15:48:45 |
Gast89549 |
|
|
|
27.05.2013 10:41:03 |
Zenic |
|
|
VBA Outlook - ItemChange und ItemRemove Event |
28.05.2013 09:53:29 |
Zenic |
|
|
Von:
Zenic |
Datum:
28.05.2013 09:53:29 |
Views:
1235 |
Rating:
|
Antwort:
|
Thema:
VBA Outlook - ItemChange und ItemRemove Event |
Was icht noch vergessen habe zu erwähnen, alle Aktionen finden in einem eingehängten Kalender statt, also nicht in "meinem". Ich lösche also ein Item in einem eingehängten Kalender und es soll automatisch in einem anderen eingehängten Kalender gelöscht werden. Ich habe den geposteten Code in der beschriebenen Konstellation getestet, leider wird die _BefireItemMove nie aufgerufen.
Option Explicit
Private WithEvents m_objCalFolder As Outlook.Folder
Private m_objDelFolder As Outlook.Folder
Private Sub Application_Quit()
Set m_objCalFolder = Nothing
Set m_objDelFolder = Nothing
End Sub
Private Sub Application_Startup()
With ThisOutlookSession.GetNamespace("MAPI")
Set m_objCalFolder = GetFolder("\\username\Kalender")
Set m_objDelFolder = .GetDefaultFolder(olFolderDeletedItems)
End With
End Sub
Private Sub m_objCalFolder_BeforeItemMove(ByVal Item As Object, ByVal MoveTo As MAPIFolder, Cancel As Boolean)
MsgBox ("delellelelel")
Dim bolDel As Boolean
If TypeOf Item Is Outlook.appointmentItem Then
If MoveTo Is Nothing Then
bolDel = True
ElseIf MoveTo = m_objDelFolder Then
bolDel = True
End If
End If
If bolDel Then
MsgBox Item.Subject
End If
End Sub
Function GetFolder(ByVal FolderPath As String) As Outlook.Folder
Dim TestFolder As Outlook.Folder
Dim FoldersArray As Variant
Dim i As Integer
On Error GoTo GetFolder_Error
If Left(FolderPath, 2) = "\\" Then
FolderPath = Right(FolderPath, Len(FolderPath) - 2)
End If
'Convert folderpath to array
FoldersArray = Split(FolderPath, "\")
Set TestFolder = Application.Session.Folders.Item(FoldersArray(0))
If Not TestFolder Is Nothing Then
For i = 1 To UBound(FoldersArray, 1)
Dim SubFolders As Outlook.Folders
Set SubFolders = TestFolder.Folders
Set TestFolder = SubFolders.Item(FoldersArray(i))
If TestFolder Is Nothing Then
Set GetFolder = Nothing
End If
Next
End If
'Return the TestFolder
Set GetFolder = TestFolder
Exit Function
GetFolder_Error:
Set GetFolder = Nothing
Exit Function
End Function
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
24.05.2013 14:20:43 |
Zenic |
|
|
|
24.05.2013 15:19:53 |
Gast89549 |
|
|
|
24.05.2013 15:27:06 |
Gast65957 |
|
|
|
24.05.2013 15:48:45 |
Gast89549 |
|
|
|
27.05.2013 10:41:03 |
Zenic |
|
|
VBA Outlook - ItemChange und ItemRemove Event |
28.05.2013 09:53:29 |
Zenic |
|
|