Jag vill dra en bifogad fil från outlook och släppa den på ett vb-formulär. Hej, Tack Nick för intresset. OleDragDrop
Hur gör man det. Koden nedan exponerar hur jag upptäcker mail-items och filer från
Explorer. Listade format i hjälpfiler etc. funkar inte på bifogade filer. Hjälp.
Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, button As Integer, Shift As Integer, X As Single, Y As Single)
If Data.GetFormat(vbCFText) Then ' OUTLOOK
End If
If Data.GetFormat(vbCFFiles) Then ' EXPLORER
end ifSv: OleDragDrop
Jag hittade denna information och lösning:
Action: Try to drag a Word document attachment from an Outlook email message
and drop to a VB textbox.
Resultat: Error 461: "Format doesn't not match format data."
Cause: The email attachment is not really in the word document format.
Resolution: Use Outlook's Object Model and automate it from VB.
Kod exempel:
Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As
Integer, Shift As Integer, X As Single, Y As Single)
'On Error GoTo E_DragDrop
'Not Global Use Create
Dim oApp As Outlook.Application
Dim oItem As Outlook.MailItem
Dim oAttachs As Outlook.Attachments
Dim oAttach As Outlook.Attachment
Set oApp = CreateObject("Outlook.Application")
Set oItem = oApp.ActiveInspector.CurrentItem
Set oAttachs = oItem.Attachments
For Each oAttach In oAttachs
MsgBox oAttach.DisplayName
Next
End Sub
mvh
NicholasSv: OleDragDrop
Mitt problem är inte att identifera ett markerat mail, utan att identifera ett markerat attachment. Det är inte riktigt samma sak.
Jag har två utfall av drop från outlook:
1. identifera valt mail och spara det som en .msg-fil
2. identifera markerad attachment och spara den som <vad-det-nu-är-för>-fil.