Hallo liebe Forumgemeinde
Mein Ziel ist es ein Skript zu entwerfen, welches den Betreff neu erhaltener Mails als Variable speichert und die Mail danach wieder löscht. Als Makro in Outlook funktioniert dies Einwandfrei, jedoch soll das Skript dann auf einem Server laufen. Somit ist nun meine Frage, wie ich die Verbindung zum Exchangeserver (2007) bzw. zum Posteingang herstellen kann.
Hier das Skript aus dem VBA:
Sub mail()
Dim objOutlook As Outlook.Application, objNameSpace As Outlook.NameSpace
Dim objMailordner As Outlook.MAPIFolder, objGAINMailordner As Outlook.MAPIFolder
Dim objAttachment As Outlook.Attachment, objMail As Outlook.Items
Dim objEMail As Outlook.MailItem
Dim Befehl ' Variable um den im Betreff erhaltenen Befehl zu Speichern
Dim Zahl ' Variable um zu zählen wie viele neue Emails reingekommen sind (So viele Male müsste dann das Script ausgeführt werden)
Set objOutlook = New Outlook.Application
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objMailordner = objNameSpace.GetDefaultFolder(olFolderInbox)
Zahl = objMailordner.UnReadItemCount
'MsgBox (Zahl)
For i = 1 To Zahl
Set objEMail = objMailordner.Items.GetLast
Befehl = objEMail.Subject
'MsgBox (Befehl)
objEMail.Delete
Next
End Sub
Kann mir jemand helfen, oder einen Tipp geben wie ich dies "Modularer" programmieren kann?
Für eure Hilfe bin ich sehr dankbar!
Gruss
Mein Ziel ist es ein Skript zu entwerfen, welches den Betreff neu erhaltener Mails als Variable speichert und die Mail danach wieder löscht. Als Makro in Outlook funktioniert dies Einwandfrei, jedoch soll das Skript dann auf einem Server laufen. Somit ist nun meine Frage, wie ich die Verbindung zum Exchangeserver (2007) bzw. zum Posteingang herstellen kann.
Hier das Skript aus dem VBA:
Sub mail()
Dim objOutlook As Outlook.Application, objNameSpace As Outlook.NameSpace
Dim objMailordner As Outlook.MAPIFolder, objGAINMailordner As Outlook.MAPIFolder
Dim objAttachment As Outlook.Attachment, objMail As Outlook.Items
Dim objEMail As Outlook.MailItem
Dim Befehl ' Variable um den im Betreff erhaltenen Befehl zu Speichern
Dim Zahl ' Variable um zu zählen wie viele neue Emails reingekommen sind (So viele Male müsste dann das Script ausgeführt werden)
Set objOutlook = New Outlook.Application
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objMailordner = objNameSpace.GetDefaultFolder(olFolderInbox)
Zahl = objMailordner.UnReadItemCount
'MsgBox (Zahl)
For i = 1 To Zahl
Set objEMail = objMailordner.Items.GetLast
Befehl = objEMail.Subject
'MsgBox (Befehl)
objEMail.Delete
Next
End Sub
Kann mir jemand helfen, oder einen Tipp geben wie ich dies "Modularer" programmieren kann?
Für eure Hilfe bin ich sehr dankbar!
Gruss