2015-05-06 61 views
-2

我正在編寫代碼以將我自己的Outlook日曆以及一些共享日曆導入MS Excel電子表格。但是,我發現我的腳本運行速度很慢。我發現從我自己的日曆中加載一個月的事件大約需要1-2分鐘,而從共享日曆中加載同一時間段的事件需要大約10-20分鐘。MS Excel VBA閱讀Outlook日曆項目很慢

我注意到當我在線和離線時,我的腳本可以加載我的個人日曆。但是,如果我沒有連接到互聯網,那麼當我打電話給「.GetSharedDefaultFolder」時,我將遇到運行時錯誤。另外,如果在循環訪問共享日曆中的項目時斷開互聯網連接,我也會遇到運行時錯誤。我現在最好的猜測是,我的大部分速度問題是由於Outlook正在爲每個項目檢查交換服務器,我一次只能檢查一次(我很確定發生了這種情況)。

有沒有人有如何解決這個問題的好主意?我想加快我的代碼,所以不需要大約45分鐘來運行我的腳本。我很難相信Outlook不會在我的筆記本電腦上存儲最新版本的共享日曆。我也不明白爲什麼我不應該能夠調用某個函數來下載整個日曆,然後循環遍歷這些項目,而無需單獨向服務器請求每個項目。

謝謝!

+0

您需要發佈您的代碼。 –

+0

MrMascaro說了些什麼,再加上,如果你有代碼運行,只需要改進性能,你最好在[Code Review](http://codereview.stackexchange.com)上發佈。 – FreeMan

+0

你使用什麼代碼?你可以再詳細一點嗎? –

回答

0

我實際上設法通過在MS Outlook中啓用「下載共享文件夾」屬性來解決問題。這將程序執行時間從45分鐘縮短到7分鐘。

路線如何啓用「下載共享文件夾」屬性: http://www.msoutlook.info/question/414

注意:要了解Outlook 2013中的帳戶設置按鈕,您可以導航到「文件」菜單。

+0

發佈你的代碼仍然是一個好主意 - 即使你的文件夾被緩存了,也有很多方法可以加快速度。 MAPIFolder.GetTable –