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

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

قام بنشر

السلام عليكم ورحمة الله وبركاته

إخواني وأحبابي في الله

 

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

 

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

:rol:

يتم وضع الكود التالي في حدث فتح المصنف

Private Sub Workbook_open()
'هذا الحدث مرتبط بفتح المصنف
'يقوم الكود بإضافة سطر أمر إلى قائمة الكليك يمين

'تعريف متغير من النوع شريط أمر التحكم
    Dim NewControl As CommandBarControl
        On Error Resume Next
'حذف شريط الأمر من قائمة الكليك يمين إذا كان موجود من قبل
    Application.CommandBars("Cell").Controls("Show Date And Time").Delete
        On Error GoTo 0
'إنشاء أو إضافة شريط أمر التحكم
    Set NewControl = Application.CommandBars("Cell").Controls.Add
    
    With NewControl
'عنوان شريط أمر التحكم الذي سيظهر في قائمة الكليك يمين
        .Caption = "Show Date and Time"
'مسار واسم الإجراء الفرعي المرتبط بشريط أمر التحكم
        .OnAction = "Module1.DateAndTime"
'عدم فصل شريط أمر التحكم الجديد بخط
        .BeginGroup = False
    End With
End Sub

:wink2:

وحتى لا تحدث أخطاء في برنامج الإكسيل يراعى أن يتم حذف شريط أمر التحكم الذي تمت إضافته

ولذا ستجد الكود التالي في حدث إغلاق المصنف

Sub Workbook_BeforeClose(Cancel As Boolean)
'هذا الحدث مرتبط بإغلاق المصنف
     On Error Resume Next
'هذا السطر لحذف الأمر - الذي تمت إضافته عند فتح المصنف - من قائمة الكليك يمين
    Application.CommandBars("Cell").Controls("Show Date and Time").Delete
End Sub

:cool2:

وهذا هو الكود المرتبط تنفيذه بشريط أمر التحكم

Sub DateAndTime()
'هذا هو الماكرو الذي تمت إضافته لقائمة الكليك يمين
    MsgBox "Today is: " & Format(Date, "dd. mm. yyyy") & "." & vbCr & vbCr & "It is: " & Format(Time, "hh:mm:ss")
End Sub


وأخيراً تقبلوا تحيات أخوكم أبو البراء

دمتم على طاعة الله :fff: :fff: :fff:

Add Control To Right Click Menu.rar

  • Like 3
قام بنشر

أقول إيــــــــــــه مش لاقى كلام يبقى تاخد دول :fff: :fff: :fff:

وهذا ملف مشابه يساعد فى سرعة عمل قائمة بأيام الأسبوع والشهور لعموم الفائدة

Add Custom List Access to Right Click Menu.rar

  • Like 1
قام بنشر

الأخ الحبيب مختار

تسلم على الإضافة الرائعة بارك الله فيك ..وإن شاء الله دايماً في مزيد من الإبداعات

 

الأخ خالد الشاعر

مشكور على مرورك العطر بارك الله فيك

قام بنشر

السلام عليكم

اعمال رائعة بارك الله فيكم

فى سؤال هو بيختار يوم الاحد بس و انا اسحب الخلية و لا ايه

و ماذا لو تم ادراج تاريخ اليوم او الشهر الحالى و هكذا

قام بنشر

السلام عليكم ورحمة الله

عمل رائع جدا حبيب الكل ابو البراء

الله يزوجك وحدة معها اثنين حبة شمس حبة قمر ههههه

جزاك الله خير وفي ميزان حسناتك

قام بنشر

الأخ الحبيب صلاح الصغير

الأخ الغالي أبا الحسن والحسين

الأخ الحبيب ياسر فتحي

 

بارك الله فيكم وجزاكم الله خير الجزاء في الدنيا والآخرة ..ومشكور على مروركم العطر بالموضوع

تقبلوا تحياتي

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

أخي الأستاذ ياسر

أخي الأستاذ مختار

تطويع معلومات صغيرة وبسيطة، وعرضها وشرحها

بالتفصيل، يجعل منها موضوعا كبيرا، يستحق الشكر

والتقدير.. بارك الله فيكما.

تم تعديل بواسطه غسان العبيدي
  • Like 1
  • 4 weeks later...
قام بنشر

الأساتذة الكرام والأخوة الأعزاء:

ياسر خليل أبو البراء

مختار حسين محمود

عــلي الشيــــخ

بارك الله بكم وبهمتكم العالية

ما أستطيع قوله فقط :

((إنكــــم متميِّـــــــــــــــــــــزون حقــــاً))..

جزاكم الله خيراً و السلام عليكم

أخوكم محمد بن حسن المحمد أبو يوسف

  • Like 1
قام بنشر

اخى ياسر

فيه مشكله بسيطه

ايه هى بقى

انك لما بتفتح الملف

وتيجى تفتح ملف تانى

وتيجى تعمل كليك يمين

بتلاقى الاضافه موجوده

هل ينفع اننا نخلى الاضافه

تقتصر على الملف الى موجود فيه الكود بس

تقبل تحياتى

قام بنشر

السلام عليكم 

 

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

 

Private Sub Workbook_Activate  للبداية بدلا من Workbook_open

 

وانهائها بالحدث 

 

 Private Sub Workbook_WindowDeactivate بدلا من Workbook_BeforeClose
 
هذا رأيي وجربته عندى ويمكنكم تجربته لتأكيد صحته
Private Sub Workbook_Activate()

    Dim NewControl As CommandBarControl
        On Error Resume Next
    
    Application.CommandBars("Cell").Controls("Show Date And Time").Delete
        On Error GoTo 0

    Set NewControl = Application.CommandBars("Cell").Controls.Add
    
    With NewControl
        .Caption = "Show Date and Time"
        .OnAction = "Module1.DateAndTime"
        .BeginGroup = False
    End With
End Sub


Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)

     On Error Resume Next

   Application.CommandBars("Cell").Controls("Show Date and Time").Delete
End Sub

  • Like 3
قام بنشر

أخي الحبيب أسامة

السهل الممتنع

لم يخطر ببالي فكرتك الجميلة هذه .. تسلم الأيادي وربنا يبارك فيك

 

أنا جربت

Workbook_Deactivate

ويعمل بشكل جيد أيضاً ... ما الفارق بين Workbook_Deactivate و Workbook_WindowDeactivate ؟؟

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