PDA

View Full Version : سوال راجع به کلاس ها



علی خدایاری
چهارشنبه 24 بهمن 1386, 01:02 صبح
من دو تا سوال درباره کلاس ها دارم که چند وقتیه ذهنم رو مشغول کرده. میخواستم دوستانی که میتونند به بنده جواب بدند.
ممنون میشم اگه کمکم کنید.

اول: من وقتی راهنمای Office.VBA رو خوندم دیدم کلاس های CommadBarControl و CommandBarButton و CommandBarComboBox و CommandBarPopup مشترک هستند.
یعنی وقتی به آخر کد زیر تو Outlook می رسیم می تونیم از خواص کلاس های بالا استفاده کنیم هرچند اون خواصیت تو کلاس CommandBarControl نباشه (البته باید نوع کنترل قبلا ست شده باشه).

می خواستم ببینم چه طور می شه این کار رو تو وی بی انجام داد؟:کف::گیج:


... .(ActiveExplorer.CommandBars.Item("Web").Controls(7


دوم: کلاس ها و خاصیت هایی که پنهان هستند و فقط با روشن کردن Show Hidden Members تو Object Browser به صورت کمرنگ دیده می شن چه جوری ایجاد میشن و اصولا چه کاربردی داردند؟

علی خدایاری
چهارشنبه 24 بهمن 1386, 01:40 صبح
لطفا پاسخ سولهام رو بدید؟ فکر نمی کنم برای افراد باتجربه مثل شما سخت باشه؟
هست؟

Mbt925
چهارشنبه 24 بهمن 1386, 02:06 صبح
1.شما باید یه شی از نوع Object تعریف کنی.
با این شی می تونه با هر نوع شی ای کار کنی.

2.فقط یه سری از متدها و پراپرتی های مخفی هستن ، که با زدن تیک Show hidden members نمایان میشن.
کاربردشون مثله بقیه متدها و پراپرتی هاست.

علی خدایاری
چهارشنبه 24 بهمن 1386, 14:38 عصر
از لطف شما ممنونم.
لطفا با استفاده از Object Browser تو VBA کلاس CommadBarsControls رو به دقت مورد بررسی قرار بدید. متوجه میشید که نوع پراپرتی Items اون CommadBarsControl تعریف شده. با این حال میشه از پراپرتی کلاس هایی که قبلا گفتم استفاده کرد و خطا هم تولید نمی کنه.
درباره سوال دوم هم اگه لطف کنید و طرز ایجادشون رو هم توضیح بدید ممنوم میشم.

Mbt925
چهارشنبه 24 بهمن 1386, 22:41 عصر
از لطف شما ممنونم.
لطفا با استفاده از Object Browser تو VBA کلاس CommadBarsControls رو به دقت مورد بررسی قرار بدید. متوجه میشید که نوع پراپرتی Items اون CommadBarsControl تعریف شده. با این حال میشه از پراپرتی کلاس هایی که قبلا گفتم استفاده کرد و خطا هم تولید نمی کنه.
درباره سوال دوم هم اگه لطف کنید و طرز ایجادشون رو هم توضیح بدید ممنوم میشم.

بخش اول پستتون رو متوجه نشدم.
فکر نکنم ما بتونیم ایجادشون کنیم ، کاربردیم نداره.

علی خدایاری
پنج شنبه 25 بهمن 1386, 00:46 صبح
این کار برای نوشتن CommandBar لازمه. فکر میکنم اسمش به اشتراک گذاشتن کلاسهاست

kmotavali
پنج شنبه 25 بهمن 1386, 01:10 صبح
اگه منظورتون لیست آبشاری اون دستوره (لیست ثابتهای تابع)باید خدمتتون عرض کنم با دستور Enum اون ایجاد میشه

علی خدایاری
جمعه 26 بهمن 1386, 23:57 عصر
اگه منظورتون لیست آبشاری اون دستوره (لیست ثابتهای تابع)باید خدمتتون عرض کنم با دستور Enum اون ایجاد میشه

نه دوست عزیز مسئله به این سادگیها نیست :خجالت: