判断OUTLOOK的附件是不是用户添加的

使用 PR_ATTACH_FLAGS 标志来判断附件是不是用户添加的。

代码如下:

Public Function IsAvailableAttachment(objAtt As Attachment) As Boolean

    On Error Resume Next

    Dim schemaPR_ATTACH_FLAGS As String
    
    schemaPR_ATTACH_FLAGS = "http://schemas.microsoft.com/mapi/proptag/0x37140003"
    
    Dim nPR_ATTACH_FLAGS As Long
    
    nPR_ATTACH_FLAGS = CLng(objAtt.PropertyAccessor.GetProperty(schemaPR_ATTACH_FLAGS))
    
    IsAvailableAttachment = (nPR_ATTACH_FLAGS = 0)
            
End Function

一些常用的标志:

//PR_ATTACH_ADDITIONAL_INFO     0x370F0102 
//PR_ATTACH_CONTENT_BASE        0x3711001E (0x3711001F for Unicode) 
//PR_ATTACH_CONTENT_ID          0x3712001E (0x3712001F for Unicode) 
//PR_ATTACH_CONTENT_LOCATION    0x3713001E (0x3713001F for Unicode) 
//PR_ATTACH_DATA_BIN            0x37010102 The PR_ATTACH_DATA_BIN property holds the attachment when the value of the PR_ATTACH_METHOD property is ATTACH_BY_VALUE, which is the usual attachment method and the only one required to be supported.
//PR_ATTACH_DATA_OBJ            0x3701000D The PR_ATTACH_DATA_OBJ property holds the attachment when the value of the PR_ATTACH_METHOD property is ATTACH_EMBEDDED_MSG 
//PR_ATTACH_ENCODING            0x37020102 identifies the algorithm used to transform the data in an attachment. (see PR_ATTACH_TAG
//PR_ATTACH_EXTENSION           0x3703001E (0x3703001F for Unicode) The receiving client should first check for PR_ATTACH_EXTENSION, and if it is not provided, should parse the filename extension from the attachment's PR_ATTACH_FILENAME or PR_ATTACH_LONG_FILENAME property.
//PR_ATTACH_FILENAME            0x3704001E (0x3704001F for Unicode) 8.3 naming
//PR_ATTACH_FLAGS               0x37140003 PT_LONG ATT_INVISIBLE_IN_HTML |ATT_INVISIBLE_IN_RTF 
//PR_ATTACH_LONG_FILENAME       0x3707001E (0x3707001F for Unicode)  Platforms that support long filenames should set both the PR_ATTACH_LONG_FILENAME and PR_ATTACH_FILENAME properties when sending, and should check PR_ATTACH_LONG_FILENAME first when receiving. 
//PR_ATTACH_LONG_PATHNAME       0x370D001E (0x370D001F for Unicode)
//PR_ATTACH_METHOD              0x37050003 PT_LONG 
//      NO_ATTACHMENT           - When created, all attachment objects have an initial PR_ATTACH_METHOD value of NO_ATTACHMENT
//      ATTACH_BY_VALUE         - PR_ATTACH_DATA_BIN contains attachment data
//      ATTACH_BY_REFERENCE     - common path accessible by sender & recipient (common file server) via PR_ATTACH_PATHNAME or PR_ATTACH_LONG_PATHNAME
//      ATTACH_BY_REF_RESOLVE   - full path)
//      ATTACH_BY_REF_ONLY      -  
//      ATTACH_EMBEDDED_MSG     - PR_ATTACH_DATA_OBJ contains the object that supports IMessage interface
//      ATTACH_OLE  
//PR_ATTACH_MIME_SEQUENCE       0x37100003 PT_LONG
//PR_ATTACH_MIME_TAG            0x370E001E (0x370E001F for Unicode) 
//PR_ATTACH_NUM                 0x0E210003 PT_LONG
//PR_ATTACH_PATHNAME            0x3708001E (0x3708001F for Unicode) 8.3 and limit of 256 characters total
//PR_ATTACH_RENDERING           0x37090102 PT_BINARY For an attached file, PR_ATTACH_RENDERING usually portrays an icon for the file. 
//                              - but see ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/mapi/html/be29f536-a402-4e5e-b06d-9a7af587d719.htm
//PR_ATTACH_SIZE                0x0E200003 PT_LONG
//PR_ATTACH_TAG                 0x370A0102 identifies the application that originally generated the attachment
//PR_ATTACH_TRANSPORT_NAME      0x370C001E (0x370C001F for Unicode) used by TNEF and proansport provider -  It is usually not available to client applications. 
//PR_ATTACHMENT_X400_PARAMETERS 0x37000102 UNSUPPORTED, DO NOT USE
//

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值