Erste Anlage aus outlook mit Access VBA
Ich habe einen erstellten Ordner in meinem outlook mit dem Namen "Reports". Dieser Ordner enthält E-Mails mit einem Anhang in jeder E-Mail. Ich möchte mit ACCESS VBA-speichern Sie die Anhänge aus dem "Berichte" - Ordner in Outlook auf einem lokalen Laufwerk in meinem computer. hier ist der code, den ich habe, so weit, aber gibt mir Fehler. Bitte helfen:
Sub GetAttachments()
Dim ns As NameSpace
Dim Inbox As Outlook.MAPIFolder
Dim folder As Outlook.MAPIFolder
Dim Item As Object
Dim Atmt As Attachment
Dim FileName As String
Dim i As Integer
Set ns = GetNamespace("MAPI")
Set Inbox = ns.Folders.Item("Reports") // I get an error in this line says an object could not be found
i = 0
If Inbox.Items.Count = 0 Then
MsgBox "There are no messages in the Inbox.", vbInformation, _
"Nothing Found"
Exit Sub
End If
For Each Item In Inbox.Items
For Each Atmt In Item.Attachments
FileName = "C:\Automation\" & Atmt.FileName
Atmt.SaveAsFile FileName // here is another error says method is not found
i = i + 1
Next Atmt
Next Item
InformationsquelleAutor guest1 | 2011-03-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Berichte-Ordner in Ihrem Posteingang-Ordner? Möglicherweise müssen Sie etwas wie das hier tun:
Ihre syntax zum speichern von attachments korrekt aussieht (abgesehen von deiner Kommentare nicht richtig in VBA). Sie könnte drucken Sie den Dateinamen ein, den Sie erstellen, um zu sehen, ob es ein Gültiger name ist. Und ich gehe davon aus, dass Sie erstellt haben, die Automation Ordner, den Sie erwähnen.
Update:
Versuchen Sie deklarieren Ihre Atmt als Outlook.Anhang. Es ist so etwas wie ein Zugang.Anlage, die nicht über eine Methode SaveAsFile, und es ist wahrscheinlich, Kommissionierung, dass man sich zuerst. Wenn Sie den Namen der Bibliothek, die Sie erhalten sollten, die Sie brauchen.
Update 2:
Um zu Ihrem Ordner "Reports", ein Weg, um die Ordner Posteingang, wie Sie es derzeit tun, dann bekommen seine Eltern, dann bekommen die Ordner "Reports" unter, dass.
Andere Möglichkeit wäre, Scannen Sie die Artikel, die unter der "ns" zu finden, der beginnt mit "Postfach", dann die Ordner "Reports" unter, dass. Es scheint ein wenig umständlich, als sich die Eltern des Posteingangs. Das scheint auch umständlich, aber ich konnte nicht finden einen Weg, um in die Postfach-Ordner direkt.
Und für die Rettung der Anlage, wenn ich Schreibe atmt. die Eigenschaft "SaveAsFile" nicht zeigen, aus der Liste. muss ich hinzufügen, eine spezifische Referenz für? Vielen Dank,
Ich Suche es morgen und finden eine Lösung für Sie. Eine Sache, die Sie könnten versuchen, zu tun ist, um eine Liste der Werte in ns.Ordner.Elemente zu sehen, was Sie tatsächlich arbeiten. Wie für die Anlagen SaveAsFile, ich nehme an, Sie haben bereits den Outlook-Verweis Hinzugefügt so weit gekommen. Ich würde mal in den Object Browser, um zu überprüfen, dass es sein soll, und auch überprüfen, dass Sie immer die richtige Anlage-Objekt-Typ, den Sie benötigen. Ich habe Office nicht auf diesem Rechner, sonst hätte ich genauer sein. Welche version von Office verwenden Sie?
Ok, danke, Todd. Ich arbeite mit MS office 2007. Der Anhang ist eine pdf-Datei.
InformationsquelleAutor Todd
Ersetzen
Mit.....
Outlook nicht habe ein problem mit atmt in der Referenz MS Access. Das sollte dein problem lösen.
Davis Rogers
InformationsquelleAutor Davis Rogers
Ersetzen
mit
Werde es machen, den Zugang finden Sie die richtige Klasse für atmt.
InformationsquelleAutor Diogo Neves