اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

شرح : قوائم مختصرة منبثقة من ازرار التحكم Command Buttons Shortcut Menus


Amr Ashraf
إذهب إلى أفضل إجابة Solved by Amr Ashraf,

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

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

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

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:

رابط هذا التعليق
شارك

  • أفضل إجابة

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

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

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

في ١٠‏/٢‏/٢٠٢٢ 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