Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Mail nach Kategorisierung autom. in ö. Ordner verschieben
Gehe zu Seite 1, 2  Weiter
zurück: Outlook2007 Bild speichern weiter: Eine Weiterleitung beantworten mit BCC Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
kOa_Master
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. Apr 2014, 11:28
Rufname:

Mail nach Kategorisierung autom. in ö. Ordner verschieben - Mail nach Kategorisierung autom. in ö. Ordner verschieben

Nach oben
       Version: Office 2010

Hallo miteinander

Jetzt hab ichs doch noch geschafft mich hier anzumelden - die letzten paar Male hat mir die Suchfunktion gereicht und konnte das nötige Wissen daraus ableiten, jetzt steck ich fest.

Folgendes möchte ich umsetzen:
- Auf eine manuelle Zuweisung einer Kategorie wird eine E-Mail in der Inbox "sofort" automatisch in einen entsprechnden öffentlichen Ordner verschoben

Es ist davon auszugehen, dass die Kategorie gleich heisst wie der öffentliche Ordner. Also Nachrichten, welche ich der Kategorie "Haus" zuweise sollen in den öffentlichen Ordner "Alle Öffentlichen Ordner\Haus".

Das ganze soll mit Exchange Server 2010 resp. Outlook 2010 geschehen.
Zwei verschiedene Ansätze habe ich bereits versucht.

Ansatz 1: Ich erstelle eine Regel falls Kategorie "Haus" verschiebe in Ordner "Haus".
Problem: Das geschieht nur bei manueller Anwendung der Regel bzw. bei einer eingehenden Mail, nicht beim Trigger "Zuweisen einer Kategorie".
Deshalb bin ich noch auf folgendes gestossen:
http://www.vboffice.net/?smp=70
Sample 3 müsste ja eigentlich dem entsprechen, was ich möchte.
Leider bin ich nicht sehr fit in VBA, bzw. ich kenne vor allem die Grundstrukturen nicht. Programmieren kann ich einigermassen, aber das was ich gemacht habe, beschränkt sich auf so Sachen wie pascal, html, c++, c# und ein bisschen maschinensprache & matlab.

Hauptfrage 1: Ich habe den im Beispiel erwähnten Code in "ThisOutlookSession" eingefügt. Was muss ich machen, damit dieser Code "immer" automatisch im Hintergrund läuft?
Aktuell sieht das so aus:
Code:
Friend Sub Application_Startup()
  On Error Resume Next
  Set Explorer = Application.ActiveExplorer
End Sub

Private Sub Explorer_SelectionChange()
  Dim obj As Object
  Dim Sel As Outlook.Selection

  Set Mail = Nothing
  Set Sel = Explorer.Selection

  If Sel.Count > 0 Then
    Set obj = Sel(1)
    If TypeOf obj Is Outlook.MailItem Then
      Set Mail = obj
    End If
  End If
End Sub

Private Sub Mail_PropertyChange(ByVal Name As String)
  Dim CurrentFolder As Outlook.Folder
  Dim CurrentStore As Outlook.Store
  Dim Rules As Outlook.Rules
  Dim Rule As Outlook.Rule
  Dim i&
  Dim Cats As String
  Dim arrCats() As String
  Dim FindCategory As String
  Dim RunRules As Boolean

  ' Customize:
  FindCategory = "(Actionlist)"

  If Name = "Categories" Then
    Cats = LCase$(Mail.Categories)
    FindCategory = LCase$(FindCategory)
    If Len(Cats) = 0 Then Exit Sub
    Cats = Replace(Cats, ",", ";")
    arrCats = Split(Cats, ";")
    For i = 0 To UBound(arrCats)
      Cats = Trim$(arrCats(i))
      If Cats = FindCategory Then
        Set Mail = Nothing
        RunRules = True
        Exit For
      End If
    Next
  End If

  If RunRules Then
    Set CurrentFolder = Application.ActiveExplorer.CurrentFolder
    Set CurrentStore = CurrentFolder.Store
    Set Rules = CurrentStore.GetRules
    For Each Rule In Rules
      If Rule.Enabled Then
        Rule.Execute
      End If
    Next
  End If
End Sub


Es passiert allerdings herzlich wenig, wenn ich irgendwelche Kategorien zuweise, Regeln werden dabei nicht ausgeführt. Was hab ich noch nicht verstanden? Abgesehen davon erscheint noch ein Laufzeitfehler 91 wenn ich Sub "Explorer_SelectionChange()" Ausführe.


Okay, soweit Ansatz 1.

Ansatz 2 war: Gleich alles in VBA machen, wozu der Umweg über die Regeln.
Dazu habe ich folgende Codeschnippsel gefunden:

Code:
Public Sub Application_Startup()
        Dim objInboxFolder As Outlook.MAPIFolder
    Dim objNameSpace As Outlook.NameSpace
    Dim Categories, Category
    Set objNameSpace = Application.Session
    Set objInboxFolder = objNameSpace.GetDefaultFolder(olFolderIn...
    Set objDestinationFolder = objInboxFolder.Parent.Folders("Archived"...
   
    Do While True 'loop forever
        Set outlookMail = objInboxFolder.Items 'get current emails
    For Each Item In outlookMail
        Categories = Split(Item.Categories, ", ") 'turn Categories string into array
    For Each Category In Categories 'loop through array of categories
        If Category = "Archive" Then
        Item.UnRead = False 'mark email read
        Item.Move objDestinationFolder 'Move item to folder
    End If
    Next
    Next
     DoEvents
    Loop
 End Sub


sowie für den Zugriff auf Public Folder

Code:
Sub Test()
     Dim objFolder As MAPIFolder
     Set objFolder = GetPublicFolder("Haus")
     MsgBox objFolder.Name
 End Sub

Public Function GetPublicFolder(subPath As String) As MAPIFolder
     Dim objApp As Outlook.Application
     Dim objNS As Outlook.NameSpace
     Dim colFolders As Outlook.Folders
     Dim objFolder As Outlook.MAPIFolder
     Dim strFolderPath As String
     Dim arrFolders() As String
     Dim i As Long
     On Error Resume Next

     Set objApp = CreateObject("Outlook.Application")
     Set objNS = objApp.GetNamespace("MAPI")
   
     ' ### Pfad zum Alle Öffentlichen Ordner. Varianten sind mit einer Pipe "|" getrennt ###
     strFolderPath = _
         "Öffentliche Ordner - " & objNS.CurrentUser.Name & _
             "|Öffentliche Ordner - " & objNS.CurrentUser.AddressEntry.GetExchangeUser.PrimarySmtpAddress & _
             "|Öffentliche Ordner - " & objNS.CurrentUser.AddressEntry.GetExchangeUser.LastName & _
             "|Öffentliche Ordner - " & objNS.CurrentUser.AddressEntry.GetExchangeUser.Alias & _
             "|Öffentliche Ordner" & _
         "\Alle Öffentlichen Ordner\" & _
         "\" & subPath

     strFolderPath = Replace(strFolderPath, "/", "\")
     strFolderPath = Replace(strFolderPath, "|", "\")
     arrFolders() = Split(strFolderPath, "\")
     Set objFolder = Nothing
     
     For i = 0 To UBound(arrFolders)
         If objFolder Is Nothing Then
             Set objFolder = objNS.Folders(arrFolders(i))
         Else
             Set colFolders = objFolder
             Set objFolder = objFolder.Folders(arrFolders(i))
             If objFolder Is Nothing Then
                 objFolder = colFolders
             End If
         End If
     Next
     
     If (objFolder Is Nothing Or objFolder.Name <> arrFolders(UBound(arrFolders))) Then
         MsgBox "Ordner nicht gefunden!", , "Achtung"
         End
     End If
   
     Set GetPublicFolder = objFolder
     Set colFolders = Nothing
     Set objNS = Nothing
     Set objApp = Nothing
 End Function


Leider wird das nicht akzeptiert wenn ich das zusammensetze (Outlook ist mir vorher abgeschmiert, deshalb hab ichs nicht gespeichert). Beim Befehl "Item.Move" kann ich nicht die Rückgabe von "GetPublicFolder" anwenden.

Ich wäre riesig froh um irgendeine Hilfe! Danke um Voraus an alle, die sich das durchlesen und eine Antwort schreiben, die mir weiterhilft.

(Hinweise auf VBA-Literatur passend auf mein Problem und zu Outlook 2010 sind auch willkommen. Ein gescheites Nachschlagewerk fehlt mir bisher. Allerdings glaube ich, dass sich mein Problem pragmatischer und effizienter lösen lassen müsste, als mit 200 Stunden Grundlagenstudium)[*]
Michael Bauer
MVP Outlook


Verfasst am:
09. Apr 2014, 12:29
Rufname:
Wohnort: Vollersode


AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

Hallo,

Zitat:
Abgesehen davon erscheint noch ein Laufzeitfehler 91 wenn ich Sub "Explorer_SelectionChange()" Ausführe.
Das dürfte der Grund dafür sein, warum nachfolgend die PropertyChange-Prozedur nicht ausgeführt wird.

Die Beispiele 1 und 2 verschieben Mails in andere Ordner. Hier werden keine Regeln gebraucht, Du brauchst also nur den Zielordner zu referenzieren. Allerdings gilt auch hier, dass SelectionChange fehlerfrei ausgeführt werden muss.

Was nun fehlt, ist die Info, in welcher Zeile der Fehler auftritt.

_________________
Michael Bauer
Tools für Microsoft Outlook
Gast



Verfasst am:
09. Apr 2014, 14:47
Rufname:

AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

Na die Zeile ist mir klar, das ist
Code:
Set Sel = Explorer.Selection

das kann ich in einzelschritten durchgehen und herausfinden wenn ich den code ausführe.

das hilft mir allerdings noch nicht wirklich weiter?

was ich glaube zu verstehen:
Code:
Private WithEvents Explorer As Outlook.Explorer
Private WithEvents Mail As Outlook.MailItem

Ich erstelle zwei Variabeln um festzulegen, auf welche Events ich reagiere.
Einerseits auf den Explorer (ich wähle eine bestimmte Mail aus) und andererseits auf eine Mail (da ändere ich eine Eigenschaft).

Code:
Friend Sub Application_Startup()
  On Error Resume Next
  Set Explorer = Application.ActiveExplorer
End Sub

Der Outlook-Explorer wird der Variabel oben zugewiesen.

Code:
Private Sub Explorer_SelectionChange()
  Dim obj As Object
  Dim Sel As Outlook.Selection

  Set Mail = Nothing
  Set Sel = Explorer.Selection

  If Sel.Count > 0 Then
    Set obj = Sel(1)
    If TypeOf obj Is Outlook.MailItem Then
      Set Mail = obj
    End If
  End If
End Sub

Da ich diverse Sachen anklicken bzw. auch mehrere markieren kann, soll nur ein (oder mehrere) ausgewähltes MailItem der Eventvariable zugewiesen werden.

Ja, soweit so gut. Was mein Problem ist kann ich noch nicht wirklich abschätzen. Hat es mit der Outlook-Ansicht zu tun? Was ist als "Outlook.Explorer" definiert?
Ich arbeite mit der Kompaktansicht, habe zwei Monitore und das VBA-Fenster offen - vllt stört da irgendwas?
Wie gesagt, ich habe keine Ahnung.

Zu Testzwecken habe ich einen Zielordner unter meiner Inbox definiert ("test"). Hat leider bisher auch nichts gebracht, aber ich will ja die Herausforderungen Stück für Stück angehen.[/code]
kOa_Master
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. Apr 2014, 15:07
Rufname:

AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

hm. ich muss etwas falsch gemacht haben vorhin ;)

auf jedenfall funktioniert nun die sache - fast zumindest.
wenn ich die mail verschiebe (move), verschiebt er mir zwar die mail, allerdings ohne kategorie und spuckt den error "objekt wurde gelöscht" aus. kann es sein, dass das wegen der sofortigen ausführung ist? würde es reichen, wenn die reihenfolge ändern würde?

auf jedenfall möchte ich eigentlich die email kopieren und nicht verschieben. beim kopieren kommt der fehler "das objekt unterstützt diese methode nicht". das kann ja irgendwie nicht sein!? diese methode ist ja in der vorauswahl drin.
oder muss ich erst eine kopie erstellen und diese dann verschieben?
(sprich es gibt keine "copy to"-methode?)

auf jedenfall: vielen dank für die hilfe und den beispiel-code. wird dein kategorie-manager noch unterstützt/supportet? wär mal eine überlegung wert diesen zuzutun. voraussetzung ist allerdings, dass ich das hier zum laufen kriege Very Happy
Michael Bauer
MVP Outlook


Verfasst am:
09. Apr 2014, 15:12
Rufname:
Wohnort: Vollersode


AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

Wenn die Zeile Fehler 91 auslöst, dann hast Du die Prozedur vermutlich von Hand gestartet. Eine andere Erklärung gibt der gezeigte Code nicht her. So funktioniert das aber nicht.

Startup sollte beim Start Outlooks ausgeführt werden (was nicht 100%ig zuverlässig ist). Wenn die Funktion ausgeführt wird, dann wird ab dann der erste Explorer (das ist das Fenster, das einen Ordner anzeigt) überwacht. (Solltest Du weiter Ordner zusätzlich anzeigen, würden die ignoriert.) Jedes Anklicken eines Elements im überwachten Explorer führt dazu, dass dieses überwacht wird, wenn es eine Email ist.

Also, wenn SelectionChange bei Dir nicht automatisch aufgerufen wird, dann wurde Application_Startup nicht ausgeführt. Application_Startup kannst Du auch manuell starten, oder Du startest Outlook neu. Und nach jeder Code-Änderung muss Application_Startup auch erneut asgeführt werden. (Das gilt nicht immer aber in diesem Beispiel, weil durch eine Code-Änderung der Variable "Explorer" wieder auf Nothing gesetzt wird.)

_________________
Michael Bauer
Tools für Microsoft Outlook
kOa_Master
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. Apr 2014, 15:47
Rufname:

AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

jap, danke. da war etwas unsauber beim outlook-restart und ich wollte das irgendwie per hand in einem macro erzwingen. mittlerweile aber kapiert wie es läuft (laufen muss), danke.
vermutlich zu schnell geschlossen & neugestartet oder daneben zuviel anderes gemacht, kA.
falls das oben erwähnte ohne probleme funktionieren wird, würde ich vielleicht später auch noch einen check/synch beim start-up machen.

edit:
so, mittlerweile funktioniert auch das.
Hab zusätzlich noch folgendes eingefügt:
Code:
  Dim myCopiedMail As Outlook.MailItem
  Dim myMsg As String
...
If Cats = FindCategory Then
        Set myCopiedItem = Mail.Copy
        myCopiedItem.Categories = Cats
        myCopiedItem.Save
        myCopiedItem.Move Subfolder
        myMsg = "E-Mail mit Kategorie " & Cats & " in Ordner " & Subfolder & " kopiert"
        MsgBox (myMsg)


Jetzt versuch ich mich dann noch am Verschieben in den öffentlichen Ordner. Hast du da einen Tipp? Ich kann ja dann nicht mehr via Inbox.Folders() zugreifen, sondern muss auf dem Exchange den öffentlichen Ordner referenzieren.
Mit dem strFolderPath von meinem Beispiel-Code im ersten Beitrag hat es irgendwie noch nicht ganz funktioniert.

Melde mich später wieder. Danke Smile
Michael Bauer
MVP Outlook


Verfasst am:
09. Apr 2014, 17:29
Rufname:
Wohnort: Vollersode

AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

Die Liste der obersten Ordnerebene findest Du in Application.Session.Folders
_________________
Michael Bauer
Tools für Microsoft Outlook
Gast



Verfasst am:
10. Apr 2014, 11:36
Rufname:

AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

Merci für den Tipp, hat mir (mit ca. 20 Versuchen und ein wenig herumprobieren) geholfen.

Kann jetzt von beliebiger Kategorie X in den entsprechenden gleichnamigen(!) öffentlichen Ordner die E-Mail kopieren lassen.

Einziges Problem, was ich im Moment noch habe: Der Event ist "Mail_PropertyChange Item.Categories". Das ergibt bei mir Probleme bei der Mehrfach-Kategorisierung. Es ist zwar nicht wirklich vorgesehen, dass mehrere Kategorien ausgewählt werden, trotzdem kann es ja vorkommen.

Aktuell hab ich es so, dass wenn eine zweite Kategorie ausgewählt wird, dann nimmt die zusätzlich passende Kategorie auch dazu. Ist ja auch schön und gut. Aber: Lösche ich eine Kategorie davon wieder, löst der Event wieder aus und kopiert mir in die übriggebliebene Kategorie nochmals eine Mail rein.

Also:
Mail.Item erhält Kategorie A (Event löst aus -> Kopie nach Ordner A)
Mail.Item erhält Kategorie B (Event löst aus -> Kopie nach Ordner B)

Entfernen einer der beiden Kategorien (Event löst aus -> Kopie in nicht-entfernten Ordner)

Das entfernen einer Kategorie alleine ist kein Problem, das kann ich ja abfangen (If Len(Cats)=0).

Wie kann ich aber unterschieden zwischen "hinzufügen auf eine Kategorie" und "entfernen auf eine Kategorie"?
Hast du da irgendeinen Tipp? Aktuell schwebt mir z.B. das hinzufügen einer Property vor, sowas wie die Anzahl hinterlegter Kategorien. Wenn diese vorher grösser war -> kein Kopieren, wenn kleiner -> kopieren. Allerdings weiss ich nicht was für eine Property ich dafür nützen könnte. Vllt. gibt es ja auch gescheitere Lösungen, z.B. in dem direkt beim PropertyChange erkannt wird, ob es sich um ein Hinzufügen oder Entfernen einer Kategorie handelt?

Und nochmals zur Vergewisserung:
Wird dein Category-Manager noch weiter supportet, bzw. unterhältst du den noch? Die Kategorienverwaltung übers Netzwerk klingt halt eben schon toll Smile
(habe ~250 Kategorien im Netzwerk...)
Michael Bauer
MVP Outlook


Verfasst am:
10. Apr 2014, 12:29
Rufname:
Wohnort: Vollersode

AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

Vermutlich würde ich die Kategorien in eine UserProperty schreiben (UserProperties.Add). Den Inhalt des Feldes kannst Du dann immer mit dem Inhalt von Categories vergleichen.

Der Vergleich über die Anzahl der Kategorien geht nicht, wenn der Dialog (Alle Kategorien) verwendet wird. Dort kann der User ja mehrere Änderungen gleichzeitig vornehmen und es wird nur einmal gespeichert.

Der Category Manager wird noch supported, warum auch nicht?

_________________
Michael Bauer
Tools für Microsoft Outlook
kOa_Master
Im Profil kannst Du frei den Rang ändern


Verfasst am:
10. Apr 2014, 15:13
Rufname:

AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

Der sieht halt gut aus, hat ein paar nette Features, überlege eine Enterprise-Edition anzuschaffen. Bin jetzt halt am Testen inwiefern sich das mit dem gebastelten Code verträgt.

Stichworte sind da halt noch z.B. ändern der Categories-Property ohne die Mail in der Vorschau zu haben (Kategorie zuweisen nur angeklicken in der Navigation) oder mehrere Mails markieren & zuweisen.
Gast



Verfasst am:
11. Apr 2014, 11:45
Rufname:

AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

Es geht voran. Mit einer For Each-Schlaufe der Explorer-Selection kann ich jetzt auch mehrere (alle) markierte Mails kategorisieren und verschieben.

Mittlerweile benütze ich auch dein Tool (Klasse!), aber da habe ich ein Hauptproblem:
Wenn ich mit den QuickCats die Kategorie zuweise (z.B. weil ich daran erinnert werde und sich das Popup öffnet), dann wird die Kategorie im Hintergrund ausgeführt und nicht im ActiveExplorer. Wie kann ich auf die Mail zugreifen, der dann die Kategorie zugefügt wird?

Wie kann ich auf dasselbe Element zugreifen, zu welchem du die Property hinzufügst?

Bin grad sehr ratlos :-/
Michael Bauer
MVP Outlook


Verfasst am:
11. Apr 2014, 13:21
Rufname:
Wohnort: Vollersode

AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

Da wird nichts im Hintergrund gemacht. In Outlook gibt es nur ActiveExplorer (das Ordner-Fenster) und ActiveInspector (geöffnetes Element). Auf eines der beiden bezieht sich auch QuickCats. Wenn Dein VBA da nicht greift, wird das eher an Deinen gemachten Änderungen liegen.

Wenn Du Änderungen an mehr als einem Element im Ordner verfolgen willst, dann mußt Du entweder für jedes Element das PropertyChange-Ereignis empfangen, oder Du mußt das ItemChange-Ereignis nehmen, welches Dir aber nicht verrät, welche der Eigenschaften verändert wurde.

_________________
Michael Bauer
Tools für Microsoft Outlook
kOa_Master
Im Profil kannst Du frei den Rang ändern


Verfasst am:
11. Apr 2014, 15:15
Rufname:

AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

Das ist mir bewusst. Ich habe den ActiveInspector auch drin, der wird aktiviert.
Es funktioniert, wenn ich eine E-Mail öffne, Kategorie zuweise und gut ist. Da löst der Event (Mail_PropertyChange) aus.

Was ich bisher noch nicht hinbekommen habe: Es wird eine E-Mail geöffnet und es liegt ein Fenster (das Quickcat-Fenster) drüber. Dann krieg ich kein "Mail_PropertyChange". Meine Vermutung bisher ist: Es liegt daran, dass ich das aktive geöffnete Element (Quickcat) überwache, während ich eigentlich das MailItem mit Inhalt überwachen möchte.

Jetzt brauch ich bloss noch herauszufinden, wie ich die unterscheide bzw. auf das vorherige zugreife. Brauche ich dazu einen Wrapper um mehrere Inspectors handeln zu können?
Michael Bauer
MVP Outlook


Verfasst am:
11. Apr 2014, 16:10
Rufname:
Wohnort: Vollersode

AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

An QuickCats liegt das nicht, sondern an Deinem Code. Den mußt Du uns zeigen, sonst kommen wir nicht weiter.
_________________
Michael Bauer
Tools für Microsoft Outlook
kOa_Master
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. Apr 2014, 14:13
Rufname:


AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe - AW: Mail nach Kategorisierung autom. in ö. Ordner verschiebe

Nach oben
       Version: Office 2010

Natürlich liegt das nicht an QuickCats sondern an meinem Code, das ist mir klar.

Meine Idee war: Ein neues Fenster wird geöffnet, es wird geprüft ob das Fenster Typ "MailItem" ist. Falls ja, wird es überwacht, falls nein - nix.

Dazu habe ich folgenden Code eingebaut:
Code:
Private WithEvents myInspectors As Outlook.Inspectors
Private WithEvents myInspector As Outlook.Inspector
Dim MailWindow As Boolean


Friend Sub Application_Startup()
...
  Set myInspectors = Application.Inspectors
End Sub


Private Sub myInspectors_NewInspector(ByVal Inspector As Outlook.Inspector)
    Set myInspector = Inspector
End Sub


Private Sub myInspector_Activate()
    If (TypeName(myInspector.CurrentItem) = "MailItem") And (MailWindow = False) Then
        Set Mail = myInspector.CurrentItem
        MailWindow = True
End Sub


Private Sub Mail_PropertyChange(ByVal Name As String)
   For Each myMail In Explorer.Selection
... *Mail wird in PublicFolder verschoben*
   Next
  Set myMail = Nothing
  MailWindow = False
End Sub
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Outlook Mail: Statt Bilder nur noch Kreuzchen in der Mail 7 Imp 1585 08. Jun 2005, 21:37
Imp Statt Bilder nur noch Kreuzchen in der Mail
Keine neuen Beiträge Outlook Mail: mail als gesendet markieren 2 skywalker99 1182 03. Mai 2005, 09:04
kraemer mail als gesendet markieren
Keine neuen Beiträge Outlook Mail: Regel- Assistent alle E-mail Eingang verschieben! 2 Capizzi001 2337 07. März 2005, 19:15
Capizzi001 Regel- Assistent alle E-mail Eingang verschieben!
Keine neuen Beiträge Outlook Mail: email bei Eingang in Ordner verschieben... 7 marcush29 1699 24. Feb 2005, 12:39
marcush29 email bei Eingang in Ordner verschieben...
Keine neuen Beiträge Outlook Mail: Abwesenheitsassistent, Mails weiterleiten zu ext. Mail 1 nicksan 1929 22. Feb 2005, 11:45
kraemer Abwesenheitsassistent, Mails weiterleiten zu ext. Mail
Keine neuen Beiträge Outlook Mail: Adressauswahl bei neuem Mail gestört 10 swissbird 912 19. Feb 2005, 15:49
macdeal Adressauswahl bei neuem Mail gestört
Keine neuen Beiträge Outlook Mail: Mails in Extra Ordner speichern. 4 Jason 2540 30. Jan 2005, 14:51
Christi@n Mails in Extra Ordner speichern.
Keine neuen Beiträge Outlook Mail: Outlook Ordner 5 Cicero 1728 23. Jan 2005, 12:30
Christi@n Outlook Ordner
Keine neuen Beiträge Outlook Mail: Wie schreibe ich eine html - Mail mit outlook 2 Mike020174 13305 21. Jan 2005, 02:35
Gast Wie schreibe ich eine html - Mail mit outlook
Keine neuen Beiträge Outlook Mail: manuell mail verschicken 2 redrogue 801 04. Jan 2005, 19:13
redrogue manuell mail verschicken
Keine neuen Beiträge Outlook Mail: Abbruch beim Senden grosserer Mail ... ca. 500 kbytes 1 hlk123 2233 24. Dez 2004, 11:50
hlk123 Abbruch beim Senden grosserer Mail ... ca. 500 kbytes
Keine neuen Beiträge Outlook Mail: O03 - SPAMSCHUTZ FÜR ÖFFENTLICHE ORDNER 1 AkdÄ 693 08. Dez 2004, 18:34
wolf-it O03 - SPAMSCHUTZ FÜR ÖFFENTLICHE ORDNER
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel-Formeln