2013-08-02 19 views
8

Şu anda ben bir kurala bağlamak bir senaryo var bu yüzden de elimden bazı konulara otomatik toplantı isteklerini reddedebilir: AncakBir toplantıyı sessizce nasıl reddedebilirim?

Sub AutoDeclineMeetings(oRequest As MeetingItem) 

If oRequest.MessageClass <> "IPM.Schedule.Meeting.Request" Then 
    Exit Sub 
End If 

Dim oAppt As AppointmentItem 
Set oAppt = oRequest.GetAssociatedAppointment(True) 

Dim oResponse 
Set oResponse = oAppt.Respond(olMeetingDeclined, True) 
oResponse.Send 

End Sub 

, bu gereksiz spam ileti toplantı düzenleyen, geri bir yanıt gönderir Onlara katılıp katılmamaları umurumda değil.

Bu kodu, toplantımın takvimimde görünmemesi ve yanıtın gönderilmemesi için nasıl değiştirebilirim? Sadece oAppt.Delete ve oRequest.Delete numaralarını aramayı denedim, ancak bu öğeyi takvimimden kaldırmaz.

Etkili olarak, aradığım şey, Reddetme -> Yanıt iste bildirme'u manüel olarak seçmekle eşdeğerdir. Katıldığınız eğer onlar neden hiç cevap, neden sadece isteğini silmek, umursamıyorsan yerine oResponse.Send yapmanın

+0

deneyin? –

+0

@JoeEnos Hem AppointmentItem'i (hiçbir etkisi olmayacak gibi görünüyordu) hem de Talebi (gerçek e-posta isteğini sildi, ancak toplantımı Takvimimde bıraktı) denediğime inanıyorum, ancak test edip, iki kez kontrol edeceğim . – Sterno

+0

Sadece iki kez kontrol ettim (hem "oAppt.Delete" hem de "oRequest.Delete" yi çağırarak) ve öğe hala Takvimim'daydı. – Sterno

cevap

1

, oResponse.Close(olDiscard)

+0

Ne yazık ki, bu aslında benim takvimimde göründüğü ve “Bu toplantı kabul edilmedi” diyormuş gibi reddettiğim gerçeği kaydetmiyor gibi görünüyor. üzerine geldiğimde. Ben de çalışmadı oResponse.Close (olSave) ', denedim. – Sterno

+0

Başka sorunlara da sahip olabilirim, çünkü artık reddetme yanıtını gönderen önceki betiğim de çalışmıyor gibi görünüyor. Yani belki bu işe yarıyor ve ben bile onu yürütmekten engelleyen bir şey yapmayı başardım. Şu anda bu cevabı doğrulayamıyorum ya da reddedemiyorum. Başka biri olabilir mi? – Sterno

+0

@Sterno Sorunuzdan çalışmayan koddaki aynı kod nedir? Yoksa o zamandan beri değiştirdiğin için değiştirdin mi? Eğer öyleyse, lütfen senaryonun güncel versiyonunu kullanarak sorunu güncelleyebilir misiniz? – mclark1129

-1
Sub DeclineSelected() 
    Dim Session As Outlook.NameSpace 
    Dim currentExplorer As Explorer 
    Dim Selection As Selection 
    Dim currentItem As Object 
    Dim oAppt As AppointmentItem 
    Dim oResponse 

    Set currentExplorer = Application.ActiveExplorer 
    Set Selection = currentExplorer.Selection 

    'For all items selected... 
    For Each currentItem In Selection 
     'If it is a meeting request... 
     If currentItem.MessageClass = "IPM.Schedule.Meeting.Request" Then 
      Set oAppt = currentItem.GetAssociatedAppointment(True) 
      If oAppt.ResponseRequested Then 
       Set oResponse = oAppt.Respond(olMeetingDeclined, True, False) 
       oResponse.Delete 
      Else 
       Set oResponse = oAppt.Respond(olMeetingDeclined, True, False) 
      End If 
      currentItem.Delete 

     'If it is a meeting cancellation... 
     ElseIf currentItem.MessageClass = "IPM.Schedule.Meeting.Canceled" Then 
      Set oAppt = currentItem.GetAssociatedAppointment(True) 
      If oAppt Is Nothing Then 
       currentItem.Delete 
      End If 

    'Delete if just an email... 
     ElseIf currentItem.MessageClass = "IPM.Note" Then 
      currentItem.Delete 
     End If 

    Next 
End Sub 
İlgili konular