Code op een geselecteerde email laten focussen

Status
Niet open voor verdere reacties.

Roeland035

Gebruiker
Lid geworden
30 mrt 2015
Berichten
291
Beste Forumleden,

Met veel hulp van snb heb ik een code dat een gedeelte van een email exporteert naar een Excel werkblad.
Deze code richt zich op (volgens mij) alle mailtjes in een folder. Ik zou graag willen dat deze code alleen wordt uitgevoerd op een geselecteerd mailtje.
Wie o wie kan mij helpen. Ik ben na een paar uur hier nog niet wijzer van geworden namelijk.

Code:
Sub M_snb()
    With GetObject("C:\Users\r.vanhouten\Documents\Specifications mk1 XXXXXXX rev -.xlsx")
        For Each it In GetNamespace("MAPI").GetDefaultFolder(6).Folders("Offertes").Items
           sn = Filter(Split(Split(it.Body, "Offerrequest Qimarox Vertical Conveyors")(1), vbCrLf & vbCrLf), ": ", False)
           .Sheets("Email Data").Cells(1, 2).Resize(UBound(sn) + 1) = .Application.Transpose(sn)
        Next
       .Application.Visible = True
       .Windows(1).Visible = True
    End With
 End Sub

Ik ben niet verder als het volgende gekomen, maar dit print vervolgens helemaal geen data in excel:
Code:
Sub M_snb()

Dim currentExplorer As Explorer
Dim Selection As Selection
Dim olItem As Outlook.MailItem

Set olItem = Application.ActiveExplorer().Selection(1)

    With GetObject("C:\Users\r.vanhouten\Documents\Specifications mk1 XXXXXXX rev -.xlsx")
           sn = Filter(Split(Split(olItem.Body, "Offerrequest Qimarox Vertical Conveyors")(1), vbCrLf & vbCrLf), ": ", False)
           .Sheets("Email Data").Cells(1, 2).Resize(UBound(sn) + 1) = .Application.Transpose(sn)
       .Application.Visible = True
       .Windows(1).Visible = True
    End With
 End Sub
 
Laatst bewerkt:
Ik gebruik dit om een selectie van mails te verwerken. Iets andere code, maar allicht kun je hem ombouwen.

Code:
    If Application.ActiveExplorer.Selection.Count = 0 Then Exit Sub
 
    '.... en anders elk mailtje verplaatsen
    For Each objItem In Application.ActiveExplorer.Selection
        If objFolder.DefaultItemType = olMailItem Then
            If objItem.Class = olMail Then
                objItem.UnRead = True
                objItem.FlagIcon = olBlueFlagIcon
                objItem.Save
                objItem.Move objFolder
            End If
        End If
    Next
 
Ah! Ik ben er achter gekomen wat er mis was. Het stukje
Code:
vbCrLf & vbCrLf
heb ik eenvoud van gemaakt en nu pakte hij wel opeens de data! Het blijft mij maar een raadsel wat het uberhaupt moest doen, maar goed. Het werkt!
Toch bedankt Octafish!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan