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

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

قام بنشر

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

باختصار الموضوع أني استخدم كود لعرض قائمة مختصرة عند الضغط بزر الفأرة الأيمن داخل التقرير لعرض بعض المهام (كالطباعة وزوم) ودعت الحاجة الي التصدير الي الاكسل فكان الكود بهذا الشكل ولكن توقفت عند كيف أمرر اسم التقرير الحالي من القائمة المختصرة الي روتين التصدير الي اكسل

وهذا الكود بالكامل للقائمة المختصرة

 

Public Sub CreateShurtRepMenu()
    Dim cmbRightClick As Office.CommandBar
    Dim cmbControl As Office.CommandBarControl
On Error Resume Next
       ' Create the shortcut menu.
    Set cmbRightClick = Application.CommandBars.Add("MyRepRightClkMenu", msoBarPopup, False, True)

    With cmbRightClick
        
        ' Add the fast Print command.
'        Set cmbControl = .Controls.Add(msoControlButton, 2521, , , True)
'        cmbControl.Caption = ChrW(1591) & ChrW(1576) & ChrW(1575) & ChrW(1593) & ChrW(1577) & ChrW(32) & ChrW(1587) & ChrW(1585) & ChrW(1610) & ChrW(1593) & ChrW(1577)
'
        ' Add the Print command.
        Set cmbControl = .Controls.Add(msoControlButton, 15948, , , True)
        cmbControl.Caption = ChrW(1578) & ChrW(1581) & ChrW(1583) & ChrW(1610) & ChrW(1583) & ChrW(32) & ChrW(1589) & ChrW(1601) & ChrW(1581) & ChrW(1575) & ChrW(1578) & ChrW(32) & ChrW(1575) & ChrW(1604) & ChrW(1591) & ChrW(1576) & ChrW(1575) & ChrW(1593) & ChrW(1577)
        
       
        ' Add the Excel command.
        '(msoControlButton, 11723, , , True)
        Set cmbControl = .Controls.Add
        'add line for export group
        cmbControl.BeginGroup = True
        With cmbControl
        .Caption = "Excel" & " " & ChrW(1578) & ChrW(1589) & ChrW(1583) & ChrW(1610) & ChrW(1585) & ChrW(32) & ChrW(1573) & ChrW(1604) & ChrW(1610)
        .FaceId = 11723
        .OnAction = "=ExportExcelSb(me.name)"
        End With
        
        ' Add the PDF or XPS command.
        Set cmbControl = .Controls.Add(msoControlButton, 12499, , , True)
        cmbControl.Caption = "PDF/XPS" & " " & ChrW(1578) & ChrW(1589) & ChrW(1583) & ChrW(1610) & ChrW(1585) & ChrW(32) & ChrW(1573) & ChrW(1604) & ChrW(1610)
        
        ' Add the Zoom command.
        Set cmbControl = .Controls.Add(4, 1733, , , True)
        cmbControl.BeginGroup = True
        cmbControl.Caption = "Zoom:"
        Cmdcontrol.FaceId = 202
        ' Add the Close command.
        Set cmbControl = .Controls.Add(msoControlButton, 923, , , True)
        ' Start a new group.
        cmbControl.BeginGroup = True
        cmbControl.Caption = ChrW(1573) & ChrW(1594) & ChrW(1604) & ChrW(1575) & ChrW(1602)
    End With
    
    Set cmbControl = Nothing
    Set cmbRightClick = Nothing
End Sub

وهذا روتين التصدير الي الاكسل

Public Sub ExportExcelSb(ByVal repname As String)
Dim savPas As String
savPas = calFilDilog(2, "Expor To Excel")
DoCmd.OutputTo acOutputReport, repname, "Excel97-Excel2003Workbook(*.xls)", savPas, True, "", , acExportQualityPrint
End Sub

السؤال الآن كيف أمرر اسم التقرير الحالي هنا في هذا الكود الي الروتين الخاص بالتصدير.

.OnAction = "=ExportExcelSb(me.name)"

ملاحظة: أعلم أن هناك أمر مستقل داخل الـ commandbars للتصدير بدون الحاجة الي اجراء خاص ولكن هذا الأمر يظهر الفورم الخاص بأكسس لعملية تصدير التقرير ولا أريد اظهار هذه الشاشة.

وجزاكم الله خيرا

 

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

يبدو أني تعجلت في كتابة الموضوع 

الحمد لله وجدت الحل بهذا الكود يمكن استدعاء اسم الكائن الحالي

Application.CurrentObjectName
وهذا أيضا يجلب اسم التقرير النشط
Screen.ActiveReport.Name

ولكن لا بأس لعل الفكرة يستفيد منها أحدا مر من هنا

وجزاكم الله خيرا

  • Like 2
قام بنشر
53 دقائق مضت, أبو عبدالله الحلوانى said:

يبدو أني تعجلت في كتابة الموضوع 

الحمد لله وجدت الحل بهذا الكود يمكن استدعاء اسم الكائن الحالي


Application.CurrentObjectName
وهذا أيضا يجلب اسم التقرير النشط
Screen.ActiveReport.Name

ولكن لا بأس لعل الفكرة يستفيد منها أحدا مر من هنا

وجزاكم الله خيرا

يا سلام لو تكمل جميلك بمرفق صغنون كده علشان تسهل الأمر لطلاب العمل وانا منهم

  • Thanks 1
قام بنشر
3 دقائق مضت, ابا جودى said:

يا سلام لو تكمل جميلك بمرفق صغنون كده علشان تسهل الأمر لطلاب العمل وانا منهم

أبشر ان شاء الله ولكن أقوم بمعالجة شئ ما وعند الفراغ منه سأرفق لك مرفق ان شاء الله 

 

  • Thanks 1
قام بنشر
20 دقائق مضت, أبو عبدالله الحلوانى said:

أبشر ان شاء الله ولكن أقوم بمعالجة شئ ما وعند الفراغ منه سأرفق لك مرفق ان شاء الله 

 

بشركم الله تعالى بكل الخيــــــــر

جزاكم الله خيـــــرا

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

هذا هو المرفق أرجو أن ينفع الله به أحدا من المسلمين

المرفق يحتاج اضافة مرجع كما بالصورة

المراجع والمصادر:

1- من شركة مايكروسوفت

2- لمزيد من الشرح والتوضيح من معلمنا أ/ جعفر

 

MenuAndShortCutMenu.rar InsertReference.rar

تم تعديل بواسطه أبو عبدالله الحلوانى
  • Like 4
قام بنشر

اخبرني احد الأخوة أن المرفق لا يعمل ويبدو وكانه فيرس سأقوم بتحميل المرفق بصيغة accdb

أشكر أخوتي أ/ @kanory  و أ/ @abouelhassan  علي مروهم الكريم وكلماتهم الطيبات

ولا انسا تقديم الشكر للأستاذ أحمد عبدالمنعم صاحب هذا الفيديو فقد كان من المصادر الهامة أيضا

هذا

MenuAndShortCutMenu.accdb

  • Like 2
  • Thanks 2

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