AEDEN Geschrieben 6. Februar 2013 Geschrieben 6. Februar 2013 (bearbeitet) Hi, ich habe hier mal ein Skript und ich weiß einfach nich mehr was ich falsch gemacht habe??? Ich bin leider ein eher Schlechter Programmierer und komme gerade nicht mehr klar. Es ist ein Makro das emails von Outlook auf die Festplatte speichern soll. Option Explicit 'legt eine Enummerierung für die verschiedenen Datentypen an Public Enum olSaveAsTypeEnum olSaveAsTxt = 0 olSaveAsRTF = 1 olSaveAsMsg = 3 End Enum Private WithEvents Items As Outlook.Items 'legt den Speicherpfad der Mails fest Private Const MAIL_PATH As String = "P:\Email Test" 'ermöglicht den Zugriff auf das Speicherobjet "MAPI" Private Sub Application_Startup() Dim Ns As Outlook.NameSpace Set Ns = Application.GetNamespace("MAPI") Set Items = Ns.GetDefaultFolder(olFolderInbox).Items End Sub 'Befehl zum speichern der Mail Private Sub Items_ItemAdd(ByVal Item As Object) If TypeOf Item Is Outlook.MailItem Then SaveMailAsFile Item, olSaveAsMsg, MAIL_PATH End If End Sub 'erstellt aus dem objekt ein Item Private Sub SaveMailAsFile(oMail As Outlook.MailItem, _ eType As olSaveAsTypeEnum, _ sPath As String _ ) Dim dtDate As Date Dim sName As String Dim sFile As String Dim sExt As String 'wählt den Datentyp der Mail aus Select Case eType Case olSaveAsTxt: sExt = ".txt" Case olSaveAsMsg: sExt = ".msg" Case olSaveAsRTF: sExt = ".rtf" Case Else: Exit Sub End Select 'legt den späteren Namen der Mail fest sName = oMail.Subject ReplaceCharsForFileName sName, "_" dtDate = oMail.ReceivedTime sName = Format(dtDate, "yyyymmdd", vbUseSystemDayOfWeek, _ vbUseSystem) & Format(dtDate, "-hhnnss", _ vbUseSystemDayOfWeek, vbUseSystem) & "-" & sName & sExt oMail.SaveAs sPath & sName, eType End Sub Private Sub ReplaceCharsForFileName(sName As String, _ sChr As String _ ) sName = Replace(sName, "/", sChr) sName = Replace(sName, "\", sChr) sName = Replace(sName, ":", sChr) sName = Replace(sName, "?", sChr) sName = Replace(sName, Chr(34), sChr) sName = Replace(sName, "<", sChr) sName = Replace(sName, ">", sChr) sName = Replace(sName, "|", sChr) End Sub Fehlermeldung: Fehler beim kompilieren nur im objektmodul zulässig Bearbeitet 6. Februar 2013 von AEDEN Zitieren
Klotzkopp Geschrieben 6. Februar 2013 Geschrieben 6. Februar 2013 Und an welcher Stelle im Code wird der Fehler gemeldet? Zitieren
AEDEN Geschrieben 6. Februar 2013 Autor Geschrieben 6. Februar 2013 bei Private WithEvents Items As Outlook.Items Zeile 8 Zitieren
Klotzkopp Geschrieben 6. Februar 2013 Geschrieben 6. Februar 2013 WithEvents ist nur in Objektmodulen erlaubt. Zitieren
AEDEN Geschrieben 6. Februar 2013 Autor Geschrieben 6. Februar 2013 (bearbeitet) ohh ok danke ist nämlich nicht direkt meine Arbeit, aber ich soll da was draus machen. Das ist aus dem Internet und ich tuhe mich immer schwierig damit skripte von anderen zu bearbeiten. vor allem wenn sie nicht dokumentiert sind-.- Bearbeitet 6. Februar 2013 von AEDEN Zitieren
AEDEN Geschrieben 6. Februar 2013 Autor Geschrieben 6. Februar 2013 Ahhh ich komme einfach nicht mehr weiter -.- hat jemand erfahrung mit vba und outlook makros? ich krieg c++ und java noch hin aber vba ist ja mal ... naja Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.