Ik probeer met Outlook attachments snel te saven (via een button) van de geselecteerde mails van mijn Inbox naar een vaste folder (en ze weer verwijdert uit de het orginele mailtje). Dit kan eigenlijk alleen maar met VBA. Dit lijkt weliswaar simpel.. maar niets is minder waar...
Met currentitem property van de activeinspector object kom je al een eind.. zoals ik hieronder heb gedaan...
dit werkt echter alleen nog maar voor 1 mail (currentitem) ... die ook nog geopend moet hebben...
btw.. niet de hele code staat hier van de sub.. maar dat doet er ook niet toe...
Maar nou wil ik dus het een ander doen met geselecteerde mails (dus niet dat ik ze dus een moet openen om attachments te saven)...
Wie o wie heeft de oplossing..
Ooh ja.. kom niet met adviezen van "Ooh dat moet je ff zoeken op vbcode.com, of gewoon googlen" want je vindt het gewoon niet... (tenminste .. ik ben er lang op zoek naar geweest)..
Iemand die het toch denkt te weten?
Met currentitem property van de activeinspector object kom je al een eind.. zoals ik hieronder heb gedaan...
dit werkt echter alleen nog maar voor 1 mail (currentitem) ... die ook nog geopend moet hebben...
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| Sub ExtractAttachements() Dim myOlApp As Object Dim myNameSpace As Object Dim myItem As Object, myItem2 As Object Dim a As Action Dim MyAttachment ' As Long Dim CountAttachements As Integer Dim PathName As String Dim Fullpathnames() Dim iFullpathname As Integer Dim iPathname As Integer On Error GoTo ErrorHandler 'first look at outlook path settings PathName = AttachmentPathname 'then look at the attachements Set myOlApp = CreateObject("Outlook.Application") Set myNameSpace = myOlApp.GetNamespace("MAPI") Set myItem = myOlApp.ActiveInspector.CurrentItem CountAttachements = myItem.Attachments.Count If CountAttachements = 0 Then MsgBox "No attachements found.", vbInformation Exit Sub End If 'save each attachement in AttachmentPathname folder For Each MyAttachment In myItem.Attachments '= CountAttachements To 1 Step -1 MyAttachment.SaveAsFile PathName & MyAttachment.DisplayName iFullpathname = iFullpathname + 1 ReDim Preserve Fullpathnames(iFullpathname) Fullpathnames(UBound(Fullpathnames)) = PathName & MyAttachment.DisplayName MyAttachment.Delete 'myItem.Attachments.Delete Next |
btw.. niet de hele code staat hier van de sub.. maar dat doet er ook niet toe...
Maar nou wil ik dus het een ander doen met geselecteerde mails (dus niet dat ik ze dus een moet openen om attachments te saven)...
Wie o wie heeft de oplossing..
Ooh ja.. kom niet met adviezen van "Ooh dat moet je ff zoeken op vbcode.com, of gewoon googlen" want je vindt het gewoon niet... (tenminste .. ik ben er lang op zoek naar geweest)..
Iemand die het toch denkt te weten?