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

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

قام بنشر

السلام عليكم

بمزيج من استخدام  أداة الأخ العزيز Foksh  ، والتدخل اليدوي فى صناعة القوائم بأوفيس 2003 ( لأنه هو الوحيد الذى يسمح بذلك )

p_382390a2m1.jpg

 

تم إنشاء هذه القائمة المختصرة التى تناسب ظهورها الاستفادة السريعة من  التقارير

p_3823eoir41.jpg

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

p_38239610c1.jpg

p_3823ss8y72.jpg

وعند تجربتى لتصدير التقرير بصيغة وورد .. كانت رائعة  فى 2003  و  2024  .. لكن بدون ظهور الجدول المحيط بالبيانات

كنت قد قرأت فيما سبق عن حلول بالمنتدى فى هذا  الموضوع .. لكنها غير ناجحة تماماً

إذا كان هناك موضوع لم أصل إليه .. أرجو  الإشارة إليه

سأرفق الملف الذى يحتوي على القائمة المختصرة أعلاه ( بالمرفقات)  لمن  يريد الاستفادة منها

 

ShortMenu_qryPrinting.mdb

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

التصدير بصيغة  PDF  غير متاح من داخل أوفيس 2003  لكنه متاح فى باقى الإصدارات ،

و أظن أن باقى زملائي القدامى يعلم بأنه كانت هناك صيغة تصدير  snp  مدمجة فى 2003  ( Snapshot Viewer )

وهى ممتازة فى الاحتفاظ بتنسيق الملف كاملاً بكل جداوله وباقى محتوياته ويمكن الطباعة منها  مثل الصورة :

p_3825zo4291.jpg

وقد استخدمت الكود التالي فى استخراج الملف السابق وحفظه فى مكان محدد بالكمبيوتر

Private Sub btnSnap2_Click()
    On Error GoTo Err_btnSnap2_Click
    
    Dim defaultFolder As String
    Dim filePath As String

    defaultFolder = "D:\_BackUp_Teacher\"
    If Not (Me.cbo_Class = "") Then
        If Dir(defaultFolder, vbDirectory) = "" Then
           MkDir defaultFolder
        End If
        filePath = defaultFolder & [Forms]![frm_Section]![cbo_Class] & ".snp"
        DoCmd.OutputTo acReport, "1_سرى_القاهرة_مع_داخلى", "SnapshotFormat(*.snp)", filePath, False, "", 0
        MsgBox "تم استخراج ملف سناب شوت وحفظه في:" & vbCrLf & vbCrLf & filePath, vbInformation + vbMsgBoxRight, ""

    Else
        MsgBox ("  !!!!!  عفواً ،،،، أختر مجموعة من القائمة"), vbOKOnly + vbMsgBoxRight, "ملاحظـة"
    End If
    
Exit_btnSnap2_Click:
    Exit Sub

Err_btnSnap2_Click:
    MsgBox ("لا يوجد سجلات لتصديرها "), vbOKOnly + vbMsgBoxRight, "تنبيه"
    Resume Exit_btnSnap2_Click

End Sub

بالتجربة وجدت أن هذه الوسيلة متاحة أيضاً فى باقى الإصدارات بشرط تثبيت ملف Snapshot المرفق

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

Snapshot Viewer 10.rar

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

وعليكم السلام

 

نعم ممكن ، عن طريق القائمة المختصرة المؤقته :

 

.

1. اعمل قائمة مختصرة عند النقر على اليمين ، بحيث يظهر لك اسم القائمة (مثلا) : Export_to_SNP

                Set cmbCtrl = cmb.controls.Add
                    cmbCtrl.Caption = "Export_to_SNP"
                    cmbCtrl.OnAction = "=fExport_SnapShot"

2. حوّل الحدث الذي ارفقته اعلاه الى وحدة نمطية مستقلة (يجب ان تغير .Me الى مسار التقرير/النموذج) ، واسمها يكون fExport_SnapShot

 

قام بنشر

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

مشاركة مع أخي جعفر .. كنت قد أضفت الخاصية هذه الى الأداة التي أشرت إليها . وهي في الزر Custom والذي وظيفته كانت استدعاء دالة محددة عامة من المديول مباشرة ..

على سبيل المثال ولفكرتك التي طرحتها أعلاه . استعمل الدالة التالية بإضافتها داخل أي مديول :-

Public Function ExportCurrentReportToSNP()
    On Error GoTo Err_ExportSNP
    
    Dim defaultFolder As String
    Dim filePath As String
    Dim rptName As String
    
    On Error Resume Next
    rptName = Screen.ActiveReport.Name
    
    If Err.Number <> 0 Then
        MsgBox "لا يوجد تقرير مفتوح ونشط حالياً لتصديره!", vbExclamation + vbMsgBoxRight, "تنبيه"
        Err.Clear
        Exit Function
    End If
    On Error GoTo Err_ExportSNP
    
    defaultFolder = "D:\_BackUp_Teacher\"
    
    If Dir(defaultFolder, vbDirectory) = "" Then
       MkDir defaultFolder
    End If
    
    filePath = defaultFolder & rptName & "_" & Format(Now(), "yyyy-mm-dd_hhmmss") & ".snp"
    
    DoCmd.OutputTo acReport, rptName, "SnapshotFormat(*.snp)", filePath, False, "", 0
    
    MsgBox "تم استخراج ملف سناب شوت بنجاح وحفظه في:" & vbCrLf & vbCrLf & filePath, vbInformation + vbMsgBoxRight, "تم التصدير"
    
Exit_ExportSNP:
    Exit Function

Err_ExportSNP:
    If Err.Number = 2501 Then
        MsgBox "لا يوجد سجلات لتصديرها أو تم إلغاء العملية.", vbOKOnly + vbMsgBoxRight, "تنبيه"
    Else
        MsgBox "حدث خطأ غير متوقع: " & Err.Description, vbCritical + vbMsgBoxRight, "خطأ رقم " & Err.Number
    End If
    Resume Exit_ExportSNP

End Function

 

ثم اذهب الى نموذج الأداة ، وقم بإنشاء قائمة مختصرة جديدة أو افتح قائمة موجودة . وانقر الزر Custom . واتبع ما يلي :-

AddCustom.thumb.gif.2d29e090933fb252eca492d3b79c6c62.gif

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

تمام  .. شكراً لك

سبب عدم اهتمامي بهذا الـ  SnapShot   أنه قد عفا عليه الزمن ولا أظن أن أحداً يتذكره

واستغنيت  عنه بالتصدير لـ PDF

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

p_3827dk7ri1.jpg

ولأول مرة كنت أود أن يكون سطر الاختيار Save as PDF باهتاً إذا كانت بيئة التشغيل 2003

SnapShot.mdb

تم تعديل بواسطه أحمد العيسى
رفع ملف
قام بنشر
منذ ساعه, أحمد العيسى said:

ولأول مرة كنت أود أن يكون سطر الاختيار Save as PDF باهتاً إذا كانت بيئة التشغيل 2003

يعني هل ما زلت تريد التصدير كـ PDF للتقارير في 2003 !!!!!!

أم تغاضيت عن الفكرة 😅 

قام بنشر

 

وما أقصده هو أنه يوجد طريقة لدمج وظيفة التصدير كـ PDF للتقارير في اكسيس 2003 .. فإن كنت ترغب بها سأحاول دمجها من ضمن التحديثات التي تمت على أداة إنشاء القوائم المختصرة .

  • Like 1
قام بنشر
منذ ساعه, Foksh said:

يعني هل ما زلت تريد التصدير كـ PDF للتقارير في 2003 !!!!!!

أم تغاضيت عن الفكرة 😅 

لا  طبعاً  لم أتغاضى عنها

الـ  PDF  ليس مدمجاً فى 2003  كباقى الإصدارات التالية له

ولذلك فى كل الأحوال أستخدم برنامج خارجي( pdf Factory pro 9.25 ) لحفظ الملفات كـ  PDF

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

الـ  PDF  ليس مدمجاً فى 2003  كباقى الإصدارات التالية له

ممتاز .. طيب شو رأيك بحل بسيط إذا كان الاستخدام على ويندوز 10 ومتوافق مع أوفيس 2003 ؟؟؟؟

الفكرة اللي خطرت ببالي انه نستخدم طابعة الويندوز الإفتراضية علشان نحفظ التقرير كـ PDF ..

:excl: كيف ؟ رح نستخدم الدالة التالية :-

Public Function ExportToPDF_Win10()
    Dim reportName As String
    Dim defaultPrinter As String
    Dim prt As Printer
    Dim pdfPrinterExists As Boolean
    
    On Error Resume Next
    reportName = Screen.ActiveReport.Name
    If Err.Number <> 0 Then
        MsgBox "لا يوجد تقرير نشط", vbExclamation + vbMsgBoxRight, ""
        Exit Function
    End If
    On Error GoTo 0
    
    pdfPrinterExists = False
    For Each prt In Application.Printers
        If prt.DeviceName = "Microsoft Print to PDF" Then
            pdfPrinterExists = True
            Exit For
        End If
    Next prt
    
    If Not pdfPrinterExists Then
        MsgBox "طابعة 'Microsoft Print to PDF' غير متوفرة في جهازك . النظام يحتاج إلى ويندوز 10 أو أحدث", vbCritical + vbMsgBoxRight, ""
        Exit Function
    End If
    
    defaultPrinter = Application.Printer.DeviceName
    
    Set Application.Printer = Application.Printers("Microsoft Print to PDF")
    
    DoCmd.PrintOut acPrintAll
    
    Set Application.Printer = Application.Printers(defaultPrinter)
End Function

وفي زر Custom رح نضيف زر للقائمة كالمعتاد من واجهة الأداة . ونسميه مثلاً تصدير التقرير الحالي كـ PDF .

ونستخدم الإستدعاء للدالة :-

=ExportToPDF_Win10()

النتيجة رح تكون :-

PDF2003.thumb.gif.9e563b819f89b2896eae575a0babcee3.gif

 

طبعاً على عكس الفكرة المطروحة للشهير Lebans في موضوعه هذا ، والتي لا تدعم اللغة العربية عند تصدير التقارير كملف PDF .

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

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

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

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

سجل حساب جديد

تسجيل دخول

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

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

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

Important Information