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

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

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

السلام عليكم

اريد عند فتح التقرير الذهاب الي اخر صفحة

استخدمت كود sendkeys لكنه يتسبب في مشكلة انه يقفل زرار numlock

هل يوجد بديل لكود sendkeys

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

جرب إضافة سطر ثاني لأمر sendkeys بعد أمر الذهاب إلى آخر صفحة كالتالي:

SendKeys "{NUMLOCK 2}", True

ويمكنك كذلك "اللعب" في رقم 2 بالزيادة أو النقصان فربما تحل المشكلة .. يعني جرب 1 ، 2 أو 3 

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

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

 

بحثت ووجدت هذا الكود

    DoCmd.OpenReport "rpt_SalesReportBO_Ar", acViewPreview
    
    'goto last page
    Dim WshShell As Object
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.SendKeys "{End}", True

 

جعفر

  • Like 5
  • Thanks 1
قام بنشر (معدل)
23 ساعات مضت, jjafferr said:

بحثت ووجدت هذا الكود

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

تفاديا لتكرار هذه السطور يفضل تحويلها إلى إجراء يستدعى كما الإجراء الأصل كالتالي:
 

Sub mySendKeys(String_ As String, Optional Wait As Boolean = False)
    Dim WshShell As Object
       
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.SendKeys String_, Wait
    Set WshShell = Nothing
End Sub

وتستدعى كالتالي:
 

mySendKeys "{End}", True

 

تم تعديل بواسطه AbuuAhmed
تعديل في كود الإجراء
  • Like 4
قام بنشر

وهذا كود لفتح التقرير على صفحة معينة:
 

Private Sub Report_Open(Cancel As Integer)
    PageNo = 5  'required page
    
    If PageNo > 1 Then
        String_ = "{PGDN " & PageNo - 1 & "}"
        mySendKeys String_, True
    End If
  End If
End Sub

 

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

السلام عليكم 🙂

18 ساعات مضت, AbuuAhmed said:

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

 

ووالديك ان شاء الله 🙂

ولجعل الهدية تتناسب مع مناسبة العيد الوطني لبلادنا ، اود ان تقوموا بتجربة اللمسات التي لم تكن موجودة في SendKeys 🙂
 

 

SendKeys.gif.5c6bbf6c755e911e8488d34b72d80b84.gif

 

جعفر

 

SendKeys_mySendKeys.zip

تم تعديل بواسطه jjafferr
تم حذف النسخة 2 ، واستبدالها بالمشاركة التالية
  • Like 3
  • Thanks 1
قام بنشر

السلام عليكم 🙂

 

في النسخة 3 ، جعلت الاختيار الاول اختياري :

Function mySendKeys(Optional ByVal v As sk_SendKeys, Optional ByVal op_value As String = "", Optional ByVal Wait As Boolean = True) As String

.

هذا يسمح لنا بمرونة اكثر ، فمثال اخوي ابو احمد عن الانتقال الى الصفحة رقم 6 (في الواقع هي 6-1=5) مثلا :

SendKeys.gif.06566dfac9b00d72b793dbbdf366ef75.gif

وبعدني مو راضي ، اكيد فيه مجال للتحسين :rol:

 

جعفر

SendKeys_mySendKeys_3.zip

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

ما شاء الله ، توسعت كثيرا ، عساك ع القوة أخي العزيز.


لم أجرب المثال الأخير ، بس كان في اعتقادي أنه لا بد للمعامل/المعطى/المدخل الأول يكون مطلوبا/إجباريا، ربما خلطت مع لغة أخرى.

 

ولا أنسى أن أهنئكم بالعيد الوطني لبلادكم ، وكل عام وأنتم بخير وبلادكم إلى المزيد من التقدم والرقي.

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

لي اقتراحين "غير ملزمين" ، هو أن يكون ترتيب المدخلات كما الأصل وكذلك قيمة Wait الافتراضية أيضا كما الأصل.

قام بنشر

كنت خائف ان تكون بعض المتغيرات محجوزة في الاكسس ، ولكن التغيير سهل ، تغيير الكل مرة واحدة 🙂

بس لازلت غير راضي عن 3 متغيرات للدالة ، لازم ارجعها الى متغيرين اثنين كما الدالة السابقة ، انا مشغول لخشمي ، فمحتاج شوية وقت ، إلا اذا احد الخبراء اراد ان يساهم 🙂

 

جعفر

  • Like 1

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