2017-03-12 58 views
0

我編寫了以下代碼以從Outlook日曆的子文件夾中刪除所有約會。我一直在努力尋找在代碼中調用這個子文件夾的正確方法,現在我難倒了。它現在似乎可以調用正確的文件夾,但無法繼續刪除約會。在嘗試將其引導至子文件夾之前,我在默認日曆上成功測試了此代碼。運行時錯誤438:從Excel中刪除Outlook約會

我已經註釋掉下面的代碼行,我正在接收運行時錯誤438:「對象不支持此屬性或方法」。

我希望任何人能夠讓我知道我需要改變以解決此問題。

Public Sub DeleteAppt() 

Dim olApp As Object 'Outlook.Application 
Dim olNS As Object 'Outlook.Namespace 
Dim olAptItemFolder As Object 'Outlook.Folder 
Dim olAptItem As Object 'Outlook.AppointmentItem 
Dim i As Long 

    Set olApp = CreateObject("Outlook.Application") 
    Set olNS = olApp.Session 
    Set olAptItemFolder = olNS.GetDefaultFolder(olFolderCalendar).Folders("TestCal").Items 

    ''''For i = olAptItemFolder.Items.Count To 1 Step -1 
     Set olAptItem = olAptItemFolder.Items(i) 
     If olAptItem.Subject Like "***" Then 
      olAptItem.Delete 
     End If 
    Next i 

    Set olAptItem = Nothing 
    Set olAptItemFolder = Nothing 
    Set olApp = Nothing 

End Sub 
+0

你混合起來的文件夾,該文件夾中的項目就行了。更改設置olAptItemFolder = olNS.GetDefaultFolder(olFolderCalendar).Folders(「TestCal」)。要設置的項目olAptItemFolder = olNS.GetDefaultFolder(olFolderCalendar).Folders(「TestCal」) – niton

+0

如果這是答案,您可以減輕關閉的負擔通過刪除問題來投票排隊。 – niton

+0

進行建議的更改並未解決錯誤。 – elpizzic

回答

-1

變化

For i = olAptItemFolder.Items.Count To 1 Step - 1 

For i = olAptItemFolder.Count To 1 Step - 1 
+0

這已解決了運行時錯誤438,但現在同一行返回運行時錯誤462:遠程服務器計算機不存在或不可用。我需要問這是一個新問題嗎? – elpizzic

+0

是的,請提出一個新問題並指出您的代碼的哪一行引發該異常。 –

相關問題