Mails verschieben Outlook 365

Moderator: ModerationP

Mails verschieben Outlook 365

Beitragvon MJR10 » 20. Mai 2021, 12:53

Hallo zusammen,
ich hab ein Problem mit meinem Outlook auf Arbeit.
Wir haben diese Woche auf Office 365 umgestellt und jetzt funktionieren teilweise meine Makros nicht mehr. Ich hatte mir je nach Themengebiet Makros gebastelt um per Klick auf einen Button die Mails schnell wegsortieren zu können. Bei 200 Mails am Tag will ich schon ein bisschen Ordnung halten.

Jetzt ist nur das komische das in etwa die Hälfte der Makros funktioniert, die andere Hälfte nicht.
Hier mal ein Makro das nicht funktioniert:
Code: Alles auswählen
'        Dim oulAnwendung As Outlook.Application
'        Dim oulNamensraum As Outlook.NameSpace
'        Dim oulOrdnerZiel As Outlook.MAPIFolder
'        Dim oulAusgewählte As Outlook.Selection
'        Dim intZähler As Integer
'
'        Set oulAnwendung = CreateObject("Outlook.Application")
'        Set oulNamensraum = oulAnwendung.GetNamespace("MAPI")
'        Set oulOrdnerZiel = oulNamensraum.GetDefaultFolder(olFolderInbox)
'        Set oulOrdnerZiel = oulOrdnerZiel.Folders("920 - privates")
'
'        Set oulAusgewählte = oulAnwendung.ActiveExplorer.Selection
'
'        For intZähler = 1 To oulAusgewählte.Count
'                oulAusgewählte.Item(intZähler).UnRead = False
'                oulAusgewählte.Item(intZähler).Move oulOrdnerZiel
'        Next intZähler



Als Fehlermeldung kommt "Laufzeitfehlner '424':
Objekt erforderlich

Und jetzt eines das funktioniert.
Code: Alles auswählen
Public Sub versch_KalenderZuAbsagen()

        Dim oulAnwendung As Outlook.Application
        Dim oulNamensraum As Outlook.NameSpace
        Dim oulOrdnerZiel As Outlook.MAPIFolder
        Dim oulAusgewählte As Outlook.Selection
        Dim intZähler As Integer

        Set oulAnwendung = CreateObject("Outlook.Application")
        Set oulNamensraum = oulAnwendung.GetNamespace("MAPI")
        Set oulOrdnerZiel = oulNamensraum.GetDefaultFolder(olFolderInbox)
        Set oulOrdnerZiel = oulOrdnerZiel.Folders("810 - Kalender Zu-/Absagen")

        Set oulAusgewählte = oulAnwendung.ActiveExplorer.Selection

        For intZähler = 1 To oulAusgewählte.Count
                oulAusgewählte.Item(intZähler).UnRead = False
                oulAusgewählte.Item(intZähler).Move oulOrdnerZiel
        Next intZähler

End Sub


Eigentlich sind beide komplett identisch, nur funktioniert das erste und das zweite nicht. Kann mir jemand weiterhelfen?
MJR10
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 38
Registriert: 16. Jun 2011, 20:32

Re: Mails verschieben Outlook 365

Beitragvon knobbi38 » 20. Mai 2021, 13:56

Hallo,

du solltest schon angeben, in welcher Zeile der Fehler auftritt, damit man dir helfen könnte.

Prinzipiell solltest du aber mal deine Makros überarbeiten. So ganz ohne Errorhandling und fest kodierter Ordnernamen ist das kein Wunder, daß irgendwann mal so ein Fehler 424 ohne weitere Info auftritt. So laufen Makros nur in einem kleine, eng begrenzten Kontext.

Gruß Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3458
Registriert: 02. Jul 2015, 14:23

Re: Mails verschieben Outlook 365

Beitragvon MJR10 » 20. Mai 2021, 16:05

Hallo,
startet nicht eine Zeile vom Makro, der Pfeil beim debuggen steht gleich in der ersten Zeile, jedoch markiert er vor dem Bestätigen der Fehlermeldung "oulAnwendung ="

Ich bin ein ziemlicher Anfänger, ich bastel mir nur immer was zusammen und versuche das dann auszubauen, aber so richtig systematisch gehe ich beim erstellen der Makros nicht vor, da muss ich dir schon recht geben.

Was meinst du mit "fest kodierter Ordnernamen"? In anderen Makros mit Ordner in darunter liegenden Ebenen habe ich folgenden geschrieben:

Code: Alles auswählen
        Ebene1 = "200 - Projekte"
           Ebene2 = "C-Projekte"
               Ebene3 = "Projekt C24"
                   Ebene4 = "EWK_C24"
                       Ebene5 = "Konzeptphase_C24"
        Set oulOrdnerZiel = oulOrdnerZiel.Folders(Ebene1).Folders(Ebene2).Folders(Ebene3).Folders(Ebene4).Folders(Ebene5)


Ja die Fehler sind so ein Problem, bislang ist das aber nur wenn ich eine Mail in einen Ordner verschieben will und die Mail liegt schon in m dem Zielordner. Das passiert mit nur wenn ich nach Mails suche und sie dann verschieben will. Normalerweise verschiebe ich sie ja aus dem Posteingang.
MJR10
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 38
Registriert: 16. Jun 2011, 20:32

Re: Mails verschieben Outlook 365

Beitragvon knobbi38 » 20. Mai 2021, 22:37

Hallo,

ich verstehe jetzt nicht, wenn doch dein VBA-Code unter Outlook ausgeführt werden soll, warum du ein neues Outlook-Objekt erzeugen möchtest.

Mit "fest kodierten Ordnernamen" meine ich den Zugriff à la
Code: Alles auswählen
Set oulOrdnerZiel = oulOrdnerZiel.Folders("920 - privates")

Hier ist der Ordnername "920 - privates" fest kodiert. Gibt es den überhaupt noch?

Gruß Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3458
Registriert: 02. Jul 2015, 14:23

Re: Mails verschieben Outlook 365

Beitragvon MJR10 » 21. Mai 2021, 07:22

Den Ordner gibt es sicher noch. Wie soll ich denn das auch anders machen?

Wie gesagt, der Code ist sicher nicht der beste, ich hab mir hier nur aus dem Internet ein paar Makros angeschaut und was zusammengebastelt und war dann froh, dass es funktioniert hat. Zu mehr reichen meine Kenntnisse einfach noch nicht.

Wie könnte ich es denn besser machen? Wie gesagt der Anwendungsfall war bisher folgender: Ich war in der Ansicht des Posteingangs, habe eine oder mehrere Mails markiert und dann einen Button in der Befehlsleiste gedrückt, damit er die Mails dann dorthin verschoben hat. Das hat bist zur Umstellung auf Office 365 auch ohne Probleme funktioniert, nur jetzt kommt teilweise eine Fehlermeldung und bei manchen Makros nicht.
MJR10
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 38
Registriert: 16. Jun 2011, 20:32

Re: Mails verschieben Outlook 365

Beitragvon d'r Bastler » 21. Mai 2021, 16:48

Hallo MJR,

ganz dumme Frage: Warum sortierst Du Deine Mails nicht einfach mithilfe der OL-Regeln? Dazu braucht's kein VBA.

Regeln in eine neue Version zu portieren hatte ich bisher nie Probleme.

Grüße
d'r Bastler

Selbst Heiden glauben an min. 10% Mystik in der EDV! Gilt auch für mein Win 10 pro/Office 2019 ProPlus und alle VBAsteleien ...
Aktueller Trollfutter-Vorrat: NULL
Benutzeravatar
d'r Bastler
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 338
Registriert: 23. Jan 2021, 22:36
Wohnort: VBAsteln makes the world go around

Re: Mails verschieben Outlook 365

Beitragvon MJR10 » 25. Mai 2021, 15:42

Ich will die Mails ja nicht gleich beim Eingang wegsortieren. Mein Arbeitsablauf ist, dass ich die Mails solange im Posteingang habe, bis ich sie abgearbeitet habe, bis dahin sind es für mich Erinnerungen die noch zu tun sind.
Also erst wenn ich mit der Arbeit fertig bin, drücke ich den Knopf fürs Makro und dann wird die Mail in den richtigen Ordner wegsortiert.
MJR10
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 38
Registriert: 16. Jun 2011, 20:32

Re: Mails verschieben Outlook 365

Beitragvon d'r Bastler » 25. Mai 2021, 21:11

Moin MJR,

... ja nicht gleich beim Eingang wegsor...
Das überzeugt.

Alternative Quicksteps? Ich weiss nicht, wie viele Ordner Du bearbeiten musst und ob das praktibel ist. Immerhin kannst Du den Quicksteps Short-Cuts zuordnen, was ja einem Button recht nahe käme.

Ich überlasse meinen Workflow tatsächlich den Regeln: Wenn in Projekt A was hustet, öffne ich den Ordner, und wenn's Projekt B ist, dann eben diesen.

Grüße
d'r Bastler

Selbst Heiden glauben an min. 10% Mystik in der EDV! Gilt auch für mein Win 10 pro/Office 2019 ProPlus und alle VBAsteleien ...
Aktueller Trollfutter-Vorrat: NULL
Benutzeravatar
d'r Bastler
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 338
Registriert: 23. Jan 2021, 22:36
Wohnort: VBAsteln makes the world go around

Re: Mails verschieben Outlook 365

Beitragvon MJR10 » 26. Mai 2021, 07:47

ja das mit den Quciksteps hatte ich mir auch überlegt, das ging für die ersten 5 auch noch ganz gut. Mittlerweile habe ich aber 40 Buttons auf mehrere Registerkarten verteilt.
Meist eine Registerkarte pro Projekt und dann darunter aufgeteilt je einen Button für jedes Bauteil.
Das ist mit den Quicksteps leider nicht mehr leistbar.
MJR10
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 38
Registriert: 16. Jun 2011, 20:32

Re: Mails verschieben Outlook 365

Beitragvon Marco PB » 26. Mai 2021, 12:35

Wenn der Fehler in der Zeile oulAnwendung =CreateObject("Outlook.Application") kommt, bedeutet das meistens, dass die Zeile Dim oulAnwendung As Outlook.Application irgendwie fehlt.

" .. sind beide komplett identisch .." stimmt wie üblich nicht, die Namen vom Zielpfad sind unterschiedlich und auch unterschiedlich lang, und das wirft natürlich zuerst die Frage, ob beide Ordner existieren, ob sie beide auf der gleichen Ebene (gleich unter der Inbox) liegen und ob der eine Name vielleicht falschgeschrieben ist.
Übrigens auch '.. nur funktioniert das erste und das zweite nicht ..' widerspricht die vorherige Aussage, dass das erste angegebene Fragment nicht funktioniert.

Und: im VBA-Editor gibt es den Menüpunkt 'Debuggen/Kompilieren von Projekt1'. Kommt die Fehlermeldung gleich wenn du hier klickst, oder erst beim Ausführen?
Marco PB
 


Zurück zu Outlook Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste