VBA SendKeys | أمثلة لاستخدام أسلوب Excel VBA SendKeys

Excel VBA SendKeys

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

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

بناء الجملة

يوجد أدناه بناء جملة طريقة vba SendKeys.

مفاتيح أو سلسلة: نوع المفتاح الذي نحتاجه لإرساله إلى التطبيق النشط.

انتظر: في هذه الحجة ، يمكننا استخدام شيئين ، أي TRUE أو FALSE

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

المفاتيح الشائعة التي نستخدمها مع لوحة المفاتيح هي "Ctrl و Shift و ALT" . لذلك مع طريقة SendKeys ، نحتاج إلى استخدامها بأحرف خاصة ، يعرض الجدول أدناه الأحرف الخاصة للمفاتيح الثلاثة الشائعة أعلاه.

مفاتيح أخرى لها مفاتيح وأحرف مختلفة ، الجدول أدناه يوضح الشرح التفصيلي لكل مفتاح.

وفقًا للمتطلبات ، يمكننا استخدام أي من المفاتيح المذكورة أعلاه. مع بعض الأمثلة العملية ، سوف نوضح لك طريقة استخدام SendKeys.

أمثلة لاستخدام أسلوب Excel VBA SendKeys

يمكنك تنزيل قالب Excel VBA SendKeys هنا - قالب Excel VBA SendKeys

مثال 1

على سبيل المثال ، انظر إلى قيمة الخلية أدناه.

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

الآن باستخدام "SendKeys" نحاول تعديل هذا التعليق.

افتح ورقة Excel وانتقل إلى محرر Visual Basic ، وابدأ الإجراء الفرعي لـ VBA.

رمز:

 Send_Keys_Example فرعي () End Sub 

أولاً ، نحتاج إلى تحديد خلية التعليق لتعديل التعليق. لذا استخدم الكود RANGE (“A1”)

رمز:

 نطاق Send_Keys_Example () فرعي ("A1") حدد End Sub 

بمجرد تحديد الخلية ، سنقوم بإجراء تحرير التعليقات. نحتاج هنا إلى تذكر اختصار لوحة المفاتيح الذي نستخدمه لتحرير التعليق.

لتعديل التعليق ، نستخدم مفتاح الاختصار "Shift + F2" .

إذا ضغطت على هذا المفتاح ، فسيتم تعديل التعليق.

افتح الآن طريقة "SendKeys".

في طريقة SendKeys ، يكون الحرف لاستخدام مفتاح SHIFT هو "+" (علامة الجمع) لذا أدخل رمز تسجيل الدخول "+".

تعمل علامة الجمع الآن كمفتاح SHIFT ، المفتاح التالي مع SHIFT الذي نستخدمه هو المفتاح F2. عندما نستخدم مفاتيح الوظائف ، نحتاج إلى إرفاقها بأقواس متعرجة ، لذا أدخل مفتاح الوظيفة F2 في القوس المتعرج.

رمز:

 نطاق Send_Keys_Example () الفرعي ("A1"). حدد SendKeys "+ {F2}" End Sub 

الآن قم بتنفيذ الكود وشاهد ما نحصل عليه.

عندما نحاول تنفيذ الكود ، تلقينا الرسالة على النحو الوارد أعلاه. أحد الأشياء الرئيسية التي يجب أن نضعها في الاعتبار هو أننا لا نستطيع تشغيل الماكرو الذي يستخدم "SendKeys" من نافذة محرر Visual Basic.

نحتاج إلى تشغيل الكود من قائمة "ماكرو".

أغلق نافذة محرر Visual Basic أولاً.

انتقل إلى علامة التبويب "المطور" وانقر على "ماكرو".

يتم الآن فتح قائمة بجميع وحدات الماكرو ، اختر الماكرو الذي تريد تشغيله. اسم الماكرو الخاص بنا هو "Send_Keys_Example" لذلك سأضغط على زر التشغيل.

يمكنك أن ترى أنه تم تمكين خيار تحرير التعليق.

كما ترى أعلاه ، فقد قام بتعيين مفتاح الاختصار SHIFT + F2 لفتح خيار تحرير التعليق.

المثال رقم 2

على سبيل المثال ، إذا كنت تريد فتح نافذة "لصق خاص" من خلال طريقة SendKeys ، فيمكننا القيام بذلك أيضًا. أولاً ، نحتاج إلى نسخ خلايا معينة ثم استخدام SendKeys.

رمز:

 فرعي Send_Keys_Example1 () نطاق ("A1"). نسخ SendKeys "٪ es" End Sub 

اختر الماكرو الذي تريد تشغيله ثم انقر فوق تشغيل.

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

أشياء للذكرى

  • يعيّن SendKeys ضغطات المفاتيح للتطبيق النشط.
  • هذه الطريقة معقدة للغاية وتوصي باستخدامها فقط إذا لزم الأمر وعندما تكون خارج الخيارات.
  • عندما نستخدم الحروف الأبجدية كمفاتيح ، يجب أن تكون جميع الحروف الأبجدية بأحرف صغيرة.