Ich bekomme einen Code Fehler beim Debuggen. Ich möchte Elemente auf meiner Festplatte speichern und sie anders benennen. Das habe ich kein Problem damit.Code Fehler beim Versuch, .msg zurück in Outlook zu verschieben
Mein Problem tritt auf, wenn ich versuche, sie wieder in Outlook zu importieren. Es gibt mir einen Fehler: Kompilierfehler Benutzerdefinierter Typ nicht definiert. auf einer bestimmten Linie.
Hier ist mein Code:
In meinem ersten Modul
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim Savefolder As String
Savefolder = "c:\temp"
For Each objAtt In itm.Attachments
stFileName = Savefolder & "\" & objAtt.DisplayName
i = 0
JumpHere:
If Dir(stFileName) = "" Then
objAtt.SaveAsFile stFileName
Else
i = i + 1
stFileName = Savefolder & "\" & objAtt.DisplayName & " - " & i
GoTo JumpHere
End If
Set objAtt = Nothing
Next
End Sub
In meinem zweiten Modul
Sub ImportMessagesInFolder()
Dim fso As Scripting.FileSystemObject
Dim SourceFolder As Scripting.Folder
Dim SourceFolderName As String
Dim FileItem As Scripting.file
Dim strFile, strFileType As String
Dim oMsg As Object
Dim copiedMsg As MailItem
Dim Savefolder As Outlook.Folder
Set fso = New Scripting.FileSystemObject
'Source folder
SourceFolderName = "C:\temp"
Set SourceFolder = fso.GetFolder(SourceFolderName)
'Set the Outlook folder name
Set Savefolder = Session.GetDefaultFolder(olFolderInbox).Folders("Extra")
Set Savefolder = Application.ActiveExplorer.CurrentFolder
For Each FileItem In SourceFolder.Files
Set oMsg = Session.OpenSharedItem(FileItem.Path)
On Error Resume Next
Set copiedMsg = oMsg.Copy
copiedMsg.Move Savefolder
Set copiedMsg = Nothing
oMsg.Delete
Set oMsg = Nothing
Next FileItem
Set FileItem = Nothing
Set SourceFolder = Nothing
Set fso = Nothing
End Sub
ich auch die Microsoft Scripting Runtime Reference aktiviert. Das erste Modul funktioniert gut und speichert die Anlagen mit bestimmten Namen, aber zweiter Modul wird Fehler: Fehler beim Kompilieren benutzerdefinierten Typ nicht auf der Linie definiert
Dim Savefolder As Outlook.Folder
Jede Hilfe ist willkommen !!
Dies behoben mein Problem, aber jetzt bekomme ich ein Problem mit Zeile: Set oMsg = Session.OpenSharedItem (FileItem.Path) es angibt, wenn das Makro ausgeführt: Laufzeitfehler error438 Objekt unterstützt diese Eigenschaft oder Methode –
Welche Version von Outlook benutzt du? –
Outlook 2003 @Dmitry Streblechenko –