MAPIQueryAttachments

Syntax

MAPIQueryAttachments(PathName$, FileName$, Position$)

Remarks

Retrieves information about the file attachments of the current inbound message. First use MAPIReadMail to make a message the current inbound message, then successively call MAPIQueryAttachments to enumerate the attachments of the message. MAPIQueryAttachments returns either the type of the attachment or �1 to indicate no more attachments.

MAPIReadMail automatically creates a temporary file for every attachment unless you call MAPIReadMail with the MAPI_ENVELOPE_ONLY or MAPI_SUPPRESS_ATTACH flag. The temporary files are not deleted automatically by the workgroup extensions. You must use MAPIQueryAttachments to enumerate the attachments and delete the
temporary files.

Argument

Explanation

PathName$

The full path of a temporary file that contains a copy of the attached file.

FileName$

The filename seen by the recipient. This name can differ from the filename in PathName$ if temporary files are being used. If FileName$ is empty, the filename from PathName$ is used. If the attachment is an OLE object, FileName$ contains the class name of the object; for example, "Microsoft Excel Worksheet."

Position$

An integer formatted as a string indicating where the attachment is placed in the message body.


The following table lists the possible return values of the MAPIQueryAttachments function and their meanings.

Value

Name

Meaning

0

Attachment is a data file, not an OLE object.

1

MAPI_OLE

Attachment is an embedded OLE object.

2

MAPI_OLE_STATIC

Attachment is a static OLE object.

�1

Message contains no attachments or all attachments have been queried.


Example

The following example successively displays the filename of each attachment of the first message in the Inbox:


Sub MAIN
MAPI_LOGON_UI = 1
Session = MAPILogon(0, "", "", MAPI_LOGON_UI, 0)
Dim MessageID$, PathName$, MailFileName$, Position$
result = MAPIFindNext(Session, 0, "", "", 0, 0, MessageID$)
result = MAPIReadMail(Session, 0, MessageID$, 0, 0)
While result >= 0
    result = MAPIQueryAttachments(PathName$, MailFileName$, Position$)
    If result >= 0 Then
        MsgBox MailFileName$
        Kill PathName$
    End If
Wend
result = MAPILogoff(Session, 0, 0, 0)
End Sub