Nesne modelini Outlook 2010'daki bilinen sorunlar

Özgün KB numarası:   2265515

Özet

Bu makalede, yeni nesne modelini kullanırken ortaya çıkabilir Microsoft Outlook 2010 açıklanmıştır.

Yükseltilmiş Outlook.Application bir işlemden nesne oluşturulamaz

Windows Vista Outlook da, Windows 7'de veya yükseltilmiş izinlerle işlemleri çalıştırmaya olanak sağlayan başka bir işletim sisteminde yükseltilmiş izinlerle çalışan bir işlemi kullanarak Outlook'ı otomatikleştireyesiniz. Bu, COM'da temel bir sınırlamadır. Görevleri Outlook olan her iki program Outlook aynı bütünlük düzeyinde çalışıyor olması gerekir.

BeforeItemMove ve BeforeFolderMove olayları oluşmaz

Ve olayların oluşmay BeforeItemMove olduğu BeforeFolderMove birden çok senaryo vardır. Bilinen senaryolar arasında To-Do çubuğundan randevuları silme, takvim ve To-Do çubuğundan toplantıları silme, varsayılan olmayan klasörlerde olayları uygulama ve Konuşmayı Yoksay komutunu kullanarak öğeleri silme bulunur. Bu sorunlar 2010 Aralık 2010 Toplu Güncelleştirmesinde Outlook giderilmiştir.

GetProperty yöntemi çevrimiçi modda başarısız oluyor

Microsoft Exchange 2010'u çevrimiçi modda kullanıyorsanız ve bu yöntemi kullanarak kurtarlanmamış bir öğeden özellik alırsanız, GetProperty yöntem başarısız olabilir. Bunun nedeni, 2010 adlandırılmış özellikleri Exchange şekildeki bir değişikliktir. Outlook 2007 de etkilenir. Geçerli geçici çözümler şunlardır:

  • Bilgileri Outlook modunda kullanın.
  • Yöntemi aramadan önce, öğenin kaydedilmiş durumda olduğundan emin GetProperty olun.

Denetçi penceresi doğru kapatılamş olabilir

İşlevi Microsoft Visual Studio GetVisibleCallback Araçları'Microsoft Office (VSTO) gerçekleştirin, kullanıcı bir denetçi penceresini doğru bir şekilde kapatamaz. Bu sorun, Şubat 2011 Toplu Güncelleştirmesinde (Outlook 2010'da düzeltilmiştir.

BeforeCheckNames olayı, 2007'de Outlook gerçekleşir

Outlook 2010'da, alıcılar çözümlenmeden önce değil de, çözüldükten sonra BeforeCheckNames olayı gerçekleşir. Bu, etkinliği iptal etme işleminin hiçbir etkisi yoktur. Bu sorun, Şubat 2011 Outlook 2011 Toplu Güncelleştirmesinde düzeltildi.

Görünümler nesne modeli kullanıcı arabiriminde gerçek görünüme karşılık geliyor olabilir

Burada, görünümleri programatik olarak değiştirir veya görünüm ayarlarını ayarlarsanız, nesne modelindeki ayarlar Outlook kullanıcı arabiriminde görüntülense bile gerçek görünüm ayarlarına karşılık gelen senaryolar vardır. Bu sorunu çözmek için Şubat 2010 Outlook 2011 Toplu Güncelleştirmesinde geliştirmeler yapıldı.

Öğe Ekle penceresini kullanarak ekler düzgün şekilde korunmıyor

Ekleri eklemek Outlook kaldırmak için Outlook nesne modelini kullanıyorsanız, kullanıcı Öğe Ekle komutunu kullanarak öğe eki eklerse fazladan bir ekiniz olabilir. Bunun nedeni, iletişim kutusunun şüpheli değil olsalar bile tüm ekleri şüpheli olarak kabul edese bir hatadır. Bu nedenle, ek ekler iletiyle birlikte kaydedilir. Bu sorun, 2010 Şubat 2010 Toplu Güncelleştirmesinde Outlook giderilmiştir.

POP/IMAP hesabı kullanarak öğe ekleri ekleri eke ekleneme değil

POP/IMAP hesabı Outlook öğe ekleri eklemek için bu yöntemi Attachments.Add kullanırsanız, arama başarısız olur. Bu sorun, 2010 Aralık 2010 Toplu Güncelleştirmesinde Outlook giderilmiştir.

MailItem.Recipients.ResolveAll işlevi Alıcıları Son alanından kaldırır

Kullanıcı oluşturma modunda iletiye çözümlenmemiş bir alıcı eklerse ve bu öğe için yöntem çağrılırsa, Recipients.ResolveAll alıcılar kaldırılır. Bu davranışın değişmesi plan yoktur.

Gönderilmiş GetAssociatedAppointment Öğeler klasöründeki toplantı isteğinde yöntem başarısız oluyor

Gönderilmiş Öğeler klasöründeki bir toplantı isteğinden randevu almaya çalışsanız, arama başarısız olur. Bu sorun, Şubat 2011 Toplu Güncelleştirmesinde (Outlook 2010'da düzeltilmiştir.

Bir denetçi penceresi açıksa randevu verileri güncelleştirilemebilir

Outlook 2010'da randevuları işleme ve önbelleğe alma şeklinde yapılan iç değişiklikler nedeniyle, nesne modeli ilgili randevu bir denetçi penceresinde açıksa, randevular için özel durumlar hakkında güncel bilgiler sağlamayabilirsiniz. Bu davranış, öğeye artık başvursanız ve mağazadan yeniden ulaşsanız bile oluşur. Bu soruna çözüm olarak randevu penceresinin kapalı olduğundan emin olun. Bu davranışın değişmesi plan yoktur.

Nesneden Klasör nesnesini almaya çalışsanız NavigationFolder bile, "İşlem başarısız oldu" hata iletisini alabilirsiniz. Bu sorun, Outlook 2010'da yeni Outlook oluşur. Nesneyi NavigationFolder.Folder başlatmadan önce Outlook alınması bu sorunun ortaya alınmasına neden olur. Bu başlatma varsayılan olarak gerçekleşmez. Bu sorunu çözmek için, önce varsayılan takvim klasörüne başvurup yöntemi GetExplorer arayın. Bu, paylaşılan Outlook başlatmaya neden olur. Aşağıdaki örnekte Outlook VBA kodu örneği bu sorunu ve geçici çözümü göstermektedir:

Sub GetCalendars()
  ' Work around
  Set oCalFolder = Session.GetDefaultFolder(olFolderCalendar)
  Set oCalExp = oCalFolder.GetExplorer

  Dim oModules As Outlook.CalendarModule
  Dim oMyCalendarGroup As Outlook.NavigationGroup
  Dim oPeopleNavGroup As Outlook.NavigationGroup
  Set oModules = ActiveExplorer.NavigationPane.Modules.GetNavigationModule(OlNavigationModuleType.olModuleCalendar)
  Set oMyCalendarGroup = oModules.NavigationGroups.GetDefaultNavigationGroup(OlGroupType.olMyFoldersGroup)
  Set oPeopleNavGroup = oModules.NavigationGroups.GetDefaultNavigationGroup(OlGroupType.olPeopleFoldersGroup)
  GetNavFolders oMyCalendarGroup
  GetNavFolders oPeopleNavGroup
End Sub

Private Sub GetNavFolders(ByVal obj As Outlook.NavigationGroup)
  Set oNavFolders = obj.NavigationFolders
  Dim oNavFolder As Outlook.NavigationFolder
  For Each oNavFolder In oNavFolders
    Debug.Print oNavFolder.DisplayName & "==>" & oNavFolder.Folder ' <-- this errors
  Next
End Sub