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
GetPropertyolun.
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.
NavigationFolder.Folder paylaşılan klasörde hata oluşturur
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