اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر (معدل)

السلام عليكم .. الاخوة الافاضل

الموضوع اليوم بسيط وسريع ويتحدث عن طريقة عمل قوائم مختصرة منبثقة من الازرار مثل الصورة التالية :

image.png.bd4f48f453d01665f5c45c83c89a1cca.png

الفكرة كلها ان عندى نموذج به الكثير من الازرار فبحثت عن طرق لاختصار الاوامر كلها فى زر او اثنين وبالتالى وصلت الى الفكرة التالية.

اول خطوة عمل موديول جديد به الكود التالى :

Sub MyMenu2()
Dim Mnu As CommandBar, Itm As CommandBarControl
Set Mnu = CommandBars.Add("", MsoBarPopUp, , True)
Set Itm = Mnu.Controls.Add: Itm.Caption = "Export To PDF": Itm.OnAction = "amr3"
Set Itm = Mnu.Controls.Add: Itm.Caption = "Export To Excel": Itm.OnAction = "amr4"
Mnu.ShowPopup
End Sub

القائمة السابقة فيها امرين 2 فقط ويمكن زيادتها كما تريد بتكرار السطور وتغيير الاسماء , بالنسبة لAmr1 فى نهاية الجملة هو الامر المطلوب تنفيذه وسيتضح الموضوع من المثال المرفق .

الخطوة الثانية : فى النموذج المطلوب تنفيذ الفكرة عليه , خلف زر الامر يتم وضع كود استدعاء للكود السابق كالتالى :

Private Sub Command0_Click()
MyMenu2
End Sub

والنتيجة عند الضغط على الزر تنبثق القائمة كما فى الصورة السابقة .

ملاحظات :

  • قمت باضافة خيار آخر لاظهار القائمة وهو عن طريق الضغط على زر الفأرة الايسر مع زر الشفت فى نفس الوقت وستظهر القائمة ايضاً .
  • يمكن تطبيق الطريقة فى التقارير والنماذج مع الاحتفاظ بالقائمة المختصرة الافتراضية الخاصة بزر الفأرة الأيمن وبالتالى سيصبح عند قائمتين مختصرتين اذا اردت الابقاء على الافتراضية .
  • يجب تفعيل المكتبات الموجودة بالصورة حتى لا تواجه مشاكل .

Capture.PNG.b48dd37b22f97b1b49cca4ff32d8c1c1.PNG

اترككم مع المثال لمزيد من التوضيح .. دمتم بخير

 

Amr Magic Button.accdb

تم تعديل بواسطه Amr Ashraf
  • Like 11
  • Thanks 2
  • 2 weeks later...
قام بنشر

جميل جدا استاذنا

بهذه الفكرة  يمكن الاستغناء عن الازرار باستخدام عناصر اخرى او صور ، ايضا يمكن  تنفيذ الحدث عند تحريك الماوس

سلمت اناملك

  • Like 1
قام بنشر

السلام عليكم 🙂

 

انا كنت عامل موضوع موسع عن القائمة المختصرة هنا:

.

ولكن استخدامك القائمة بهذه الطريقة على الازرار ، يجعل موضوعك مميز 🙂

شكرا على هذه الافكار 🙂

 

جعفر

  • Like 2
قام بنشر
24 دقائق مضت, jjafferr said:

ولكن استخدامك القائمة بهذه الطريقة على الازرار ، يجعل موضوعك مميز 🙂

مرورك شرف لنا استاذنا الكبير وتأكد ان كل ما نتوصل اليه هو نتاج تأسيسكم لنا حتى الوصول الى المستوى الذى يتيح لنا البحث والتفكير بالحلول .. جزاكم الله خير :fff:

27 دقائق مضت, Eng.Qassim said:

رائع ومدهش استاذ عمر @Amr Ashraf

تشرفنا بمرورك يا هندسة :fff:

53 دقائق مضت, ابوخليل said:

جميل جدا استاذنا

بهذه الفكرة  يمكن الاستغناء عن الازرار باستخدام عناصر اخرى او صور ، ايضا يمكن  تنفيذ الحدث عند تحريك الماوس

سلمت اناملك

مرورك شرف لنا استاذنا الكبير وتأكد ان كل ما نتوصل اليه هو نتاج تأسيسكم لنا حتى الوصول الى المستوى الذى يتيح لنا البحث والتفكير بالحلول .. جزاكم الله خير :fff:

قام بنشر
5 دقائق مضت, at_aziz said:

بارك الله فيك وجزاك الله خير استاذنا الفاضل عمر

ولك مثله اخى الكريم , شرفنى مرورك

  • Like 1
  • أفضل إجابة
قام بنشر

السلام عليكم ..

#اضافة وتأكيد معلومة :

كما أشار استاذنا ابو خليل ان الطريقة ليست حصراً على الزر فقط ولكن لها تطبيقات اخرى كثيرة

في ١٠‏/٢‏/٢٠٢٢ at 20:46, ابوخليل said:

بهذه الفكرة  يمكن الاستغناء عن الازرار باستخدام عناصر اخرى او صور ، ايضا يمكن  تنفيذ الحدث عند تحريك الماوس

يمكنك الاطلاع على المرفق لمزيد من التطبيقات على الفكرة ( قائمة عند الضغط على صورة - قائمة عند الضغط على F2 او F3 من الكيبورد - قائمة عند تحريك بكرة الماوس ) طبعاً مجرد امثلة والتطبيقات كثيرة جدا ..

2022-02-12_115507.png.51b3e4737ea0f4b7dd061bc237fa5e61.png

ولشرح مفصل ووافى وبلمسة ابداعية لطريقة القوائم المختصرة ارشح لك موضوع استاذنا الكبير جعفر فى الرابط التالى :

 

دمتم بخير .. :fff:

Amr Magic Button V2.0.accdb

قام بنشر
في 29‏/1‏/2022 at 15:07, Amr Ashraf said:

يجب تفعيل المكتبات الموجودة بالصورة حتى لا تواجه مشاكل .

 

للتخلص من استخدام مكتبة الأوفس ومشكلة عدم التوافق يمكن عمل التالي

-- الإعلان عن متغير غرضي عام (Object) بدلا من التخصيص لشريط الأدوات أو قائمة الأدوت (CommandBar, CommandBarControl).

-- عمل قائمة دلالية بأرقم خيارات موقع الأدوات أو استخدام الرقم مباشرة..

 

Public Enum MsoBarPosition
   msoBarBottom = 3      '..Command bar is docked at the bottom of the application window.
   msoBarFloating = 4    '..Command bar floats on top of the application window.
   msoBarLeft = 0        '..Command bar is docked on the left side of the application window.
   msoBarMenuBar = 6     '..Command bar will be a menu bar (Macintosh only).
   msoBarPopup = 5       '..Command bar will be a shortcut menu.
   msoBarRight = 2       '..Command bar is docked on the right side of the application window.
   msoBarTop = 1         '..Command bar is docked at the top of the application window.
End Enum
'--- يكون الأعلان بهذه الطريقة
Sub MyMenu2()
Dim Mnu As Object, Itm As Object
Set Mnu = CommandBars.Add("", MsoBarPopUp, , True)
Set Itm = Mnu.Controls.Add: Itm.Caption = "Export To PDF": Itm.OnAction = "amr3"
Set Itm = Mnu.Controls.Add: Itm.Caption = "Export To Excel": Itm.OnAction = "amr4"
Mnu.ShowPopup
End Sub

 

  • Like 2
  • Thanks 1
قام بنشر
35 دقائق مضت, أبو إبراهيم الغامدي said:

للتخلص من استخدام مكتبة الأوفس ومشكلة عدم التوافق يمكن عمل التالي

اضافة جميلة منك استاذنا الفاضل .. جزاك الله خير وزادك من علمه :fff:

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information