سؤال

هل يعرف أي شخص كيفية تمكين / تعطيل / تعطيل الحالة الفعلية للمستجيب التلقائي خارج المكتب في Outlook 2007؟

بحثت بالفعل عن مستعرض الكائن في VS 2008 ووجد التعداد Microsoft.Office.Interop.Outlook.OlBusyStatus لكنني لم أجد أي فئة أو أي شيء آخر باستخدام هذا.

أي فكرة موضع تقدير وشكرا فيما يتعلق

هل كانت مفيدة؟

المحلول

تحديث: تحديث الرمز أدناه باستخدام نموذج التعليمات البرمجية مكيفة من هذه المدونة post. والتي ستعمل بشكل أفضل في مجموعة متنوعة واسعة من منشآت Outlook (مثل تلك التي تستخدم كل من Exchange و PST أو الوصول إلى صناديق بريد Exchange متعددة).

فيما يلي رمز يعمل بالنسبة لي على Outlook 2007، لتعيين حالة Oof من Exe خارجي (إلى Outlook) EXE:

Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.ApplicationClass();
Microsoft.Office.Interop.Outlook.NameSpace ns = app.Session;
foreach (Microsoft.Office.Interop.Outlook.Store store in ns.Stores)
{
    if (store.ExchangeStoreType == Microsoft.Office.Interop.Outlook.OlExchangeStoreType.olPrimaryExchangeMailbox)
    {
        store.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x661D000B", true); // false to turn off OOF
        break;
    }
}

تأكد من أنك لا تقوم بتشغيل هذا الرمز كمسؤول وبرنامج Outlook كمسؤول غير مسؤول - وإلا فقد تحصل على خطأ متعلق بالأمان في نظام التشغيل Vista.

لاحظ أنه سينبثق مربعات حوار الأمان داخل Outlook لضمان أن المستخدم على ما يرام معك الوصول إلى نموذج كائن Outlook. هذا أمر طبيعي عند الوصول إلى نموذج كائن Outlook من EXE خارجي.

ومع ذلك، إذا كنت ترغب في الوصول إلى نموذج الكائن من الوظيفة الإضافية، فإن الرمز أعلاه غير صحيح تماما: بدلا من إنشاء كائن Outlook.application جديد عبر المنشئ، فأنت بحاجة إلى مرجع إلى Outlook الموثوق به كائن. Application من داخل الوظيفة الإضافية الخاصة بك، مثل هذا:

Microsoft.Office.Interop.Outlook.NameSpace ns = this.Application.Session;
foreach (Microsoft.Office.Interop.Outlook.Store store in ns.Stores)
{
    if (store.ExchangeStoreType == Microsoft.Office.Interop.Outlook.OlExchangeStoreType.olPrimaryExchangeMailbox)
    {
        store.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x661D000B", true); // false to turn off OOF
        break;
    }
}

راجع للشغل، هناك جيدة MSDN المادة على الأمان للوظائف الإضافية، والتي قد تكون مفيدة إذا واجهت حوار أو أخطاء أمان.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top