在2007年後的Outlook版本中,Microsoft增加了手動排列文件夾樹中文件夾(在Outlook 2007文件夾按字母順序排列)中的可能性。 是否有可能使用VBA來排列文件夾樹中的文件夾,例如當文件夾包含新電子郵件時,將文件夾置於頂部? 謝謝Outlook 2013,Outlook 2016文件夾樹中的VBA重新排列文件夾
0
A
回答
0
從Outlook 2013開始,您可以重新排序文件夾,但是您喜歡並且Outlook會記住該順序。關鍵屬性是PR_SORT_POSITION
。這裏的定義是:
定義PR_SORT_POSITION PROP_TAG(PT_BINARY,0x3020)
作爲其一部分的排序順序從供應商請求文件夾時,所以它是你的供應商可以處理是很重要的Outlook將使用該屬性在一個二進制屬性上進行排序 - 或者在被這個屬性請求排序時可以僞造它。當決定在可見樹中插入節點的位置時,Outlook也將直接使用此屬性,因此當Outlook在文件夾中查找它時,您的提供程序可以返回此屬性也很重要。
有第二個屬性Outlook將使用自定義排序順序:
定義PR_SORT_PARENTID PROP_TAG(PT_BINARY,0x3021)
正如其名稱所暗示的,這個屬性存儲條目ID可以是用於在與自然父節點不同的節點下排序文件夾。通常情況下,文件夾將被排序在PR_PARENT_ENTRYID
所代表的文件夾下。此屬性允許您建議一個不同的父級顯示。
通過適當地預設這些屬性,您可以指導Outlook如何希望對提供者的文件夾進行排序。如果您允許Outlook寫入這些屬性,則可以保留用戶需要的任何排序順序。
因此,理論上你可以從VBA中設置這些屬性。 PropertyAccessor課程可以幫助你完成這些任務。如果您面臨OOM的任何限制,您也可以考慮使用低級代碼,因此擴展MAPI的任何包裝都可以彌補差距(例如,Redemption)。
相關問題
- 1. Outlook VBA 2013訪問父文件夾
- 2. Outlook VBA文件夾事件
- 3. Outlook 2016 VBA - 通過代碼運行清理文件夾
- 4. VBA,MS Outlook,文件夾項目
- 5. Outlook vba未找到現有文件夾
- 6. 選擇Outlook文件夾使用Excel VBA
- 7. 更新Outlook收件箱文件夾
- 8. 獲取所有Outlook文件夾和子文件夾的列表
- 9. Outlook 2007多選文件夾
- 10. 問題在Outlook文件夾
- 11. Python Outlook發送文件夾
- 12. Outlook NewMailEx共享文件夾
- 13. 出口Outlook 2013中搜索文件夾的郵件到Excel
- 14. 文件夾顯示模式olFolderDisplayNoNavigation在Outlook 2013中導致工件
- 15. 從文件夾路徑獲取Outlook中的MAPI文件夾
- 16. Outlook 2016 VSTO文件夾添加事件只會觸發一次
- 17. Outlook VBA:將新的(未保存的)項目移至文件夾
- 18. 重命名Outlook中的文件夾PST文件
- 19. VBA如何清除Outlook 2010中的收藏夾文件夾列表?
- 20. Outlook 2010中創建文件夾和子文件夾
- 21. 在Outlook文件夾中搜索文件夾
- 22. 的Outlook搜索文件夾條件
- 23. 訪問PowerShell中的Outlook文件夾5
- 24. Outlook 2010:着色郵件文件夾?
- 25. 附件保存到Outlook文件夾
- 26. 從Excel中引用Outlook文件夾
- 27. SaveSentMessageFolder到網絡文件夾(而不是Outlook文件夾)
- 28. 使用VBA訪問Outlook中的文件夾
- 29. 在Outlook 2010中調用「清理文件夾」的VBA代碼?
- 30. 找出Outlook VBA中的文件夾索引
我不擅長這個問題,但我認爲你應該專注於Outlook的資源管理器**導航窗格**的**郵件模塊**及其屬性。例如,請參閱http://stackoverflow.com/questions/12935579/outlook-add-folder-to-favorites-group。 – miroxlav