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

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

قام بنشر
في 8‏/6‏/2026 at 00:20, jjafferr said:

بدلا عن هذا الشريط ، اليكم طريقة اسهل في التعامل

 

بالاشارة الى المشاركة:

 

 

فعلاً  .. من أسهل ما يمكن

وبطريقة ما  أضفت هذا الشريط إلى تقارير ملف عندي بصيغة mdb

لأننى أقوم بتشغيله على كافة إصدارات الأكسس من 2003 إلى 2024

 

فى الإصدار 2007  ممتاز  ، تم ظهور  وتمكين جميع محتوياته

img?id=1553693

 

فى الإصدار  2003  ، للأسف بعض محتوياته الهامة أصبحت غير متاحة

img?id=1553692

 

 

 

Shortcut Menu.mdb

قام بنشر

وعليكم السلام اخي احمد

 

ولكوني لا املك اكسس 2003 ، فقد اعطيتك اقتراح من احد المواقع ، 

ولكن صادفت بعض الامور الاخرى البارحة (لا علاقة لها بهذا الكود) ، فأعدت التفكير مرة اخرى ، واليك النتيجة:

جميع هذه الاوامر هي جزء من الاكسس ، فإذا مو موجودة في الاكسس ، فلن تعمل وستجدها باللون الرمادي (مثل التصدير الى PDF والتي لا توجد في اكسس 2003) ، ولاحظت اني لما فتحت التقرير بوضع Report View ، فاصبح امر close في القائمة رمادي ، فهاذ معناه ان الاكسس يعتبر هذا الوضع وضع نموذج وليس وضع تقرير !!

 

عليه طلبت من الذكاء الاصطناعي ، فاعطاني هذه الدالة حتى تعمل على الصيغتين mdb و accdb ، وهي تعتمد في عملها على التأكد من صيغة البرنامج mdb او accdb ، فهذا معناه ان الدالة لا تكون ثابته (لا تحتاج الى الكود بعد تصنيعها) ، وانما هي مؤقته وتعمل كل مرة تشغل فيها الدالة :

Public Function SCM_Zoom_Pages_Print_Export_TEMPORARY()
    Dim cmbName As String
    Dim cmb As Object
    Dim cmbCtrl As Object
    
    ' Variable IDs to handle MDB vs ACCDB compatibility
    Dim idQuickPrint As Long
    Dim idPrintDialog As Long
    Dim idExportWord As Long
    Dim idExportExcel As Long
    Dim idClose As Long
    
    On Error Resume Next 'If menu with same name exists delete
    cmbName = "rpt_Zoom_Pages_Print_Export_TEMPORARY"
    CommandBars(cmbName).Delete
    If Err.Number <> 0 Then Err.Clear
    On Error GoTo 0
     
    ' Determine Control IDs based on file format (MDB < 12, ACCDB >= 12)
    If CurrentProject.FileFormat < 12 Then
        ' Classic Control IDs for MDB format
        idQuickPrint = 4
        idPrintDialog = 19
        idExportWord = 5535
        idExportExcel = 5534
        idClose = 1813
    Else
        ' Modern Control IDs for ACCDB format
        idQuickPrint = 2521
        idPrintDialog = 15948
        idExportWord = 11725
        idExportExcel = 11723
        idClose = 923
    End If
     
    ' Create the shortcut menu as TEMPORARY (The final parameter is set to True)
    Set cmb = CommandBars.Add(cmbName, msoBarPopup, False, True)
 
    With cmb
         
        ' Add Zoom
        Set cmbCtrl = .Controls.Add(msoControlPopup, 21, , , True)  'Zoom
            Set cmbCtrl = .Controls.Add(msoControlPopup, , , , True)
            cmbCtrl.Caption = "Zoom Report"
            cmbCtrl.Controls.Add msoControlButton, 15681, , , True   'Zoom Fit to window
            cmbCtrl.Controls.Add msoControlButton, 1834, , , True    'Zoom 10%
            cmbCtrl.Controls.Add msoControlButton, 1833, , , True    'Zoom 25%
            cmbCtrl.Controls.Add msoControlButton, 1832, , , True    'Zoom 50%
            cmbCtrl.Controls.Add msoControlButton, 1831, , , True    'Zoom 75%
            cmbCtrl.Controls.Add msoControlButton, 7, , , True       'Zoom 100%
            cmbCtrl.Controls.Add msoControlButton, 1830, , , True    'Zoom 150%
            cmbCtrl.Controls.Add msoControlButton, 1829, , , True    'Zoom 200%
            cmbCtrl.Controls.Add msoControlButton, 6463, , , True    'Zoom 500%
            cmbCtrl.Controls.Add msoControlButton, 6464, , , True    'Zoom 1000%
            
        ' Add Pages
        Set cmbCtrl = .Controls.Add(msoControlPopup, 176, , , True)  'Pages
            Set cmbCtrl = .Controls.Add(msoControlPopup, , , , True)
            cmbCtrl.Caption = "Pages View"
            cmbCtrl.Controls.Add msoControlButton, 5, , , True    '1 page
            cmbCtrl.Controls.Add msoControlButton, 639, , , True  '2 Pages
            cmbCtrl.Controls.Add msoControlButton, 1801, , , True '4 Pages
            cmbCtrl.Controls.Add msoControlButton, 1800, , , True '8 Pages
            cmbCtrl.Controls.Add msoControlButton, 1799, , , True '12 Pages
          
        ' Add the Print command.
        Set cmbCtrl = .Controls.Add(msoControlButton, idQuickPrint, , , True)
        cmbCtrl.BeginGroup = True       
        cmbCtrl.Caption = "Quick Print" 
         
        ' Add the Print command.
        Set cmbCtrl = .Controls.Add(msoControlButton, idPrintDialog, , , True)
        cmbCtrl.Caption = "Select Pages and Printer"
         
        ' Add the Page Setup... command.
        Set cmbCtrl = .Controls.Add(msoControlButton, 247, , , True)
        cmbCtrl.Caption = "Page Setup"
         
        ' Add the Mail Recipient (as Attachment)... command.
        Set cmbCtrl = .Controls.Add(msoControlButton, 2188, , , True)
        cmbCtrl.BeginGroup = True
        cmbCtrl.Caption = "Email Report as an Attachment"
         
        ' Add the PDF or XPS command (Only available if running Access 2007 or newer)
        If Val(Application.Version) >= 12 Then
            Set cmbCtrl = .Controls.Add(msoControlButton, 12499, , , True)
            cmbCtrl.Caption = "Save as PDF/XPS"
        End If

        Set cmbCtrl = .Controls.Add(msoControlButton, idExportWord, , , True)
        cmbCtrl.Caption = "Export to Word..."
        cmbCtrl.FaceId = 42

        Set cmbCtrl = .Controls.Add(msoControlButton, idExportExcel, , , True)
        cmbCtrl.Caption = "Export to Excel…"
        cmbCtrl.FaceId = 263

        ' Add the Close command.
        Set cmbCtrl = .Controls.Add(msoControlButton, idClose, , , True)
        cmbCtrl.BeginGroup = True
        cmbCtrl.Caption = "Close Report"
         
    End With
      
    Set cmb = Nothing
    Set cmbCtrl = Nothing
     
End Function

.

وعلشان تشتغل القائمة ، فيمكنك مناداتها في حدث فتح التقرير ، وتتلغيه عند المغادة ، هكذا :

Private Sub Report_Open(Cancel As Integer)

    Call SCM_Zoom_Pages_Print_Export_TEMPORARY
    Me.ShortcutMenuBar = "rpt_Zoom_Pages_Print_Export_TEMPORARY"

End Sub

Private Sub Report_Close()

    Call SCM_Zoom_Pages_Print_Export_TEMPORARY
    
End Sub

 

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

جميل جداً  إخلاصك وتفانيك فيما بحثت عنه وكنت _أنت_ بارعاُ  فيه

شريط القائمة المختصرة فكرة رائعة وتختصر الكثير من الوقت والجهد

ولا أطلب منها سوى وظيفة الطابعة  فقط  ، وهى باهتة فى 2003

غير محتاج لوظيفة أكسل أو  وورد  أو pdf

ما تفضلت به بالكود أعلاه وكيفية استدعاءه  أشكرك عليه

لكن لا أظن أن ما سبق سوف يعادل فكرتك فى القائمة المختصرة وسهولة استخدامها

وبالمناسبة الكود السابق لا  ينتج المطلوب منه (فقط وميض ولا شئ آخر) .. جربته حتى على 2007

 

وحيث أن أغلب المدارس تستعمل أوفيس 2007 فما فوق  فلا أجد مشكلة هنا

المشكلة قد تكون عندي لأننى أجد سهولة كبيرة جداً  فى التعامل مع   2003

تحياتي و تقديري لشخصك الكريم

تم تعديل بواسطه أحمد العيسى
  • Like 1
قام بنشر
2 ساعات مضت, أحمد العيسى said:

ولا أطلب منها سوى وظيفة الطابعة  فقط  ، وهى باهتة فى 2003

طالما وهذا طلبك جرب القائمة في الملف المرفق وهي معي منذ أن كنت أعمل على أكسس 2003

تحياتي

Shortcut Menu.mdb

  • Like 2
قام بنشر
16 دقائق مضت, منتصر الانسي said:

طالما وهذا طلبك جرب القائمة في الملف المرفق وهي معي منذ أن كنت أعمل على أكسس 2003

إليك التجربة :

على أكسس 2003  كل محتوى القائمة المختصرة متاح

img?id=1553997

 

على أكسس 2007  الكل متاح  ما عدا  سطر "الصفحات المعروضة"

img?id=1553999

قام بنشر
1 ساعه مضت, أحمد العيسى said:

أريد تعلم كيف يمكن تصميم هذه القوائم المختصرة ؟

في أكسس 2003 العملية أسهل حيث يمكن إنشاء وتعديل القوائم مباشرة بالخطوات التالية

أنقر بالزر الايمن على شريط الادوات وحدد تخصيص

1.jpg.7585f0256ffe42036cf15c3ba9e691de.jpg

ستفتح لك نافذة قم بالخطوات كما هو محدد بالصورة

2.jpg.f6eec09448a79ebe43611134a7c824de.jpg

عند النقر على موافق سيظهر لنا شريط فارغ كما بالصورة

3.jpg.67a86eb094db714d2bb0a069f89c912c.jpg

الآن نقوم بإضافة الأزرار المطلوبة كما بالصورة المتحركة التالية

4.thumb.gif.7ba8f5831787882013245d1d2a673d45.gif

في هذا الوضع يكون الشريط هو من نوع قائمة أدوات أو Tool Bar أي أنه يمكن أن إستخدامه كقائمة في شريط الأدوات وليس كقائمة مختصرة وحتى نحولها لقائمة مختصرة نقوم بتنفيذ الخطوات كما في الصورة التالية

4.jpg.d5ef028b654c3a41a27da66c62fdb50c.jpg

ستظهر لنا نافذة منبثقة ومن قائمة النوع نحدد (منبثقة) كما بالصورة 

5.jpg.9294ce8c1724863408f7ffd5f8f94ed8.jpg

بعد أن نختار هذا الخيار سنلاحظ أنه تم إلغاء تفعيل جميع الخيارات بالاسفل

51.jpg.674193d783e3a972a6bd428990515497.jpg

ماعدا خيار إمكانية التخصيص (والذي إذا قمت بإلغائه فلن تتمكن من إضافة أو تعديل أي عناصر في القائمة)

بعد أن حولنا القائمة إلى قائمة منبثقة سنلاحظ إختفاؤها من قائمة أشرطة الأدوات

52.jpg.adafdd3799d9af1cfcc2db73de432981.jpg

ولكي نظهرها فيجب علينا تحديد قائمة الأدوات (القوائم المختصرة أو Shortcut Menus) كما بالصورة

6.jpg.340eaca695a38e8adf81445f0c566c59.jpg

ليظهر لنا شريط بالقوائم المختصرة وما يهمنا هنا هو آخر قائمة وهي قائمة Custom أو مخصصة والتي عند النقر عليها ستظهر لنا جميع أشرطة القوائم المختصرة ولكن نظراً لأنه لايوجد إلا شريط واحد فسيكون هو الوحيد الظاهر كم في الصورة

7.jpg.d43368966e1b13feb41a0d970e9d5986.jpg

من هنا وبالنقر بالزر الأيمن على أي عنصر يمكننا تعديل التسميات 

8.jpg.8de821f8087e1c595387c696289bcb0e.jpg

أو إضافة العناصر بنفس الطريقة الموضحة في الصورة المتحركة أعلاه (سحب وإفلات)

9.jpg.5b6a64ba47fb8a581a5d660780fa0ffb.jpg

أو حذف العناصر بالنقر بالزر الأيمن وإختيار حذف كما بالصورة

10.jpg.ff22563bb5280869b8e906a836d737e7.jpg

عند الإنتهاء من كل التعديلات سنحصل على النتيجة التالية

11.jpg.f1f3a32bf7b117ae8857caa8499c7fae.jpg

عندها نقوم بإغلاق نافذة التخصيص كما بالصورة

66.jpg.adce78e4f3ffbb92447d6bdb5c20b183.jpg

الآن لو فتحنا أي تقرير في وضع التصميم سنجد أن القائمة ستظهر في الخصائص

12.jpg.b5420693fc5b145446b8ce7a2628825d.jpg

وإذا فتحناه في وضع المعاينة ونقرنا بالزر الأيمن سنحصل على هذه النتيجة

13.jpg.4ffd7e9623c19a153df78cda43cbbe03.jpg

الان يمكننا إستيراد هذه القائمة من أي تطبيق آخر بدون عناء إنشاء وتعديل قائمة جديدة

وهكذا نكون قد إنتهينا من خطوات إنشاء وتعديل القوائم في أكسس 2003

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

أرجو أن يكون الشرح واضح

تحياتي

  • Like 4
قام بنشر

الشر ح واضح طبعاً  .. بارك الله فيك

لكن لى سؤال

ماذا لو أردت تعديل قائمة مختصرة جاهزة ( ولتكن عملياً قائمة أستاذنا  jjafferr )

وقد رفعت أعلاه صورة منها بالصيغة  mdb

img?id=1554066

هنا أريد الاحتفاظ فقط ببعض محتوى:

rpt_Zoom_Paged_Print_Export

ومن الأخيرة أريد فقط أول أربعة قوائم إلى
Select pages and Printer
وحذف الباقى

وفى النهاية تأخذ القوائم المختصرة الجديدة  إسم جديد ( وليكن  Printing )

حاولت كما ترى من الصور ، لكن الحذف السطور الأساسية غير متاح .. الفرعى فقط

 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information