Outlook脚本 - 如何查找收藏夹文件夹的根文件夹

时间:2013-05-01 22:12:51

标签: vba outlook directory favorite

我正在尝试找到一种方法来访问收藏夹文件夹的关联公用文件夹。目标是将邮件自动移动到公用文件夹。如果此文件夹已被定义为收藏夹,我想将邮件移动到此收藏夹文件夹以解决性能问题。

相关的公共文件夹路径只在outlook中的outlook文件夹属性中显示(右键单击文件夹然后属性/摘要:公共文件夹的路径显示在那里)但我找不到访问信息的方法编程...

我真的很感谢你的帮助!

非常感谢,

纪尧姆

2 个答案:

答案 0 :(得分:0)

我使用EWS通过使用ExtendedPropertyDefinition访问PR_FAV_PUBLIC_SOURCE_KEY

new ExtendedPropertyDefinition(0x7C02, MapiPropertyType.Binary);

将其转换为条目ID应该会将您带到正确的公用文件夹。 详情:http://social.technet.microsoft.com/Forums/de-DE/exchangesvrdevelopmentlegacy/thread/e75940c6-b53b-4260-b12c-6541e4ff8a69

还有更多喜欢的特定属性,例如:

    private ExtendedPropertyDefinition eProp_LevelMask = new ExtendedPropertyDefinition(0x7D03, MapiPropertyType.Integer);
    private ExtendedPropertyDefinition eProp_ShortcutType = new ExtendedPropertyDefinition(0x7D09, MapiPropertyType.String);
    private ExtendedPropertyDefinition eProp_FavParent = new ExtendedPropertyDefinition(0x7D02, MapiPropertyType.Binary);

    private ExtendedPropertyDefinition eProp_ShortcutName = new ExtendedPropertyDefinition(0x7C00, MapiPropertyType.String);
    private ExtendedPropertyDefinition eProp_ShortcutAlias = new ExtendedPropertyDefinition(0x7C01, MapiPropertyType.String);

答案 1 :(得分:-1)

子示例1() Dim strFinal As String Dim strline As String

打开“D:\ textfile.txt”输入为#1     虽然EOF(1)= False         线输入#1,strline         如果Len(strline)> 24然后             strFinal = strFinal + ModifyColumn(strline)             其他             strFinal = strFinal + strline + vbCrLf         万一     蜿蜒     strFinal = strFinal 关闭#1

打开“D:\ textfile.txt”输出为#1     打印#1,strFinal 关闭#1 结束子

函数ModifyColumn(ByVal strInput As String)As String     Dim arrString()As String     Dim strOutput As String     '拆分列     arrString = Split(strInput,vbTab)     '将前两列连接起来     strOutput = arrString(0)+ vbTab + arrString(1)+ vbTab + arrString(2)     '向column3添加100 $     requirevalue = Left(arrString(3),InStr(1,arrString(3),“|”) - 1)     last3Digit =右(requirevalue,3)     如果Left(requirevalue,3)=“max”那么         Newvalue = vbTab +“OTPxxxxxx”& last3Digit& “|” &安培;右(arrString(3),Len(arrString(3)) - InStr(1,arrString(3),“|”))+ vbCrLf     其他         Newvalue = vbTab + arrString(3)+ vbCrLf     万一     strOutput = strOutput& NEWVALUE     'strOutput = strOutput + Strings.Trim(Str(CDbl(Left(arrString(3),Len(arrString(2)) - 1))+ 100))+“$”+ vbCrLf     ModifyColumn = strOutput 结束功能