VBA SendKeys | ตัวอย่างการใช้วิธี Excel VBA SendKeys

Excel VBA SendKeys

SendKeys ในภาษาVBAเป็นวิธีที่ใช้ในการส่งการกดแป้นพิมพ์ไปยังหน้าต่างที่ใช้งานอยู่เพื่อให้เราสามารถทำงานได้ด้วยตนเองหลังจากนั้น เมื่อใดก็ตามที่เราใช้ตัวอักษรเป็นคีย์ตัวอักษรทั้งหมดจะต้องเป็นอักขระตัวพิมพ์เล็ก เป็นวิธีการที่ซับซ้อนและแนะนำให้ใช้เฉพาะในกรณีที่จำเป็นและเมื่อคุณไม่มีตัวเลือก

“ SendKeys” เป็นหนึ่งในหัวข้อที่ซับซ้อนที่ต้องทำความเข้าใจ พวกเราจำนวนไม่น้อยใช้คุณสมบัตินี้ใน VBA แต่การมีความรู้เพิ่มเติมในหัวข้อต่างๆเป็นเรื่องดี ในบทความนี้เราจะแสดงวิธีใช้ฟังก์ชัน SendKeys คุณอาจพบว่าการอ่านบทความซ้ำหลาย ๆ ครั้งเป็นเรื่องยากโดยใช้แนวทางปฏิบัติเพื่อให้เรียนรู้ได้เร็วและดีขึ้น

ไวยากรณ์

ด้านล่างนี้คือไวยากรณ์ของวิธี vba SendKeys

คีย์หรือสตริง:ประเภทของคีย์ที่เราต้องส่งไปยังแอปพลิเคชันที่ใช้งานอยู่

รอ:ในอาร์กิวเมนต์นี้เราสามารถใช้สองสิ่งคือ TRUE หรือ FALSE

  • TRUEถ้าคุณต้องการให้ excel รอให้คีย์ที่กำหนดได้รับการประมวลผลก่อนที่จะให้ตัวควบคุมกลับไปที่แมโคร
  • FALSEหากคุณละเว้นพารามิเตอร์Waitซึ่งจะเป็นค่าเริ่มต้น หากคุณเลือก FALSE excel จะยังคงเรียกใช้แมโครต่อไปโดยไม่ต้องรอให้คีย์ประมวลผลไปยังหน้าต่างที่ใช้งานอยู่

คีย์ทั่วไปที่เราใช้กับแป้นพิมพ์เป็น“Ctrl กะและ ALT” ดังนั้นด้วยเมธอด SendKeys เราจำเป็นต้องใช้กับอักขระพิเศษตารางด้านล่างแสดงอักขระพิเศษสำหรับคีย์ทั่วไปสามคีย์ข้างต้น

คีย์อื่น ๆ มีคีย์และอักขระที่แตกต่างกันตารางด้านล่างแสดงคำอธิบายโดยละเอียดสำหรับแต่ละคีย์

ตามข้อกำหนดเราสามารถใช้คีย์ใดก็ได้ข้างต้น ด้วยตัวอย่างที่ใช้ได้จริงเราจะแสดงวิธีการใช้ SendKeys

ตัวอย่างการใช้วิธี Excel VBA SendKeys

คุณสามารถดาวน์โหลดเทมเพลต VBA SendKeys Excel ได้ที่นี่ - เทมเพลต VBA SendKeys Excel

ตัวอย่าง # 1

ตัวอย่างเช่นดูค่าเซลล์ด้านล่าง

เรามีค่าในสามเซลล์และในเซลล์แรกเรามีค่าเป็น“ บังกาลอร์” และสำหรับเซลล์นี้มีความคิดเห็นว่า“ เมืองหลวงของกรณาฏกะ”

ตอนนี้ใช้“ SendKeys” เราพยายามแก้ไขความคิดเห็นนี้

เปิดแผ่นงาน Excel และไปที่โปรแกรมแก้ไขภาพพื้นฐานเริ่มกระบวนการย่อย VBA

รหัส:

 Sub Send_Keys_Example () End Sub 

ขั้นแรกเราต้องเลือกเซลล์ความคิดเห็นเพื่อแก้ไขความคิดเห็น ดังนั้นใช้รหัส RANGE (“ A1”) เลือก

รหัส:

 Sub Send_Keys_Example () Range ("A1") เลือก End Sub 

เมื่อเลือกเซลล์แล้วเราจะดำเนินการแก้ไขความคิดเห็น ที่นี่เราต้องรวบรวมแป้นพิมพ์ลัดที่เราใช้เพื่อแก้ไขความคิดเห็น

เพื่อที่จะแก้ไขความคิดเห็นที่เราใช้คีย์ลัด“Shift + F2”

หากคุณกดแป้นนี้จะเป็นการแก้ไขความคิดเห็น

เปิดเมธอด“ SendKeys”

ในเมธอด SendKeys อักขระสำหรับใช้แป้น SHIFT คือ“ +” (เครื่องหมายบวก) ดังนั้นให้ป้อนรหัสลงชื่อเข้าใช้“ +”

ตอนนี้เครื่องหมายบวกทำงานเป็นคีย์ SHIFT คีย์ถัดไปพร้อมกับ SHIFT ที่เราใช้คือคีย์ F2 เมื่อใดก็ตามที่เราใช้ปุ่มฟังก์ชั่นเราจำเป็นต้องใส่วงเล็บปีกกาดังนั้นให้ป้อนปุ่มฟังก์ชัน F2 ในวงเล็บปีกกา

รหัส:

 Sub Send_Keys_Example () ช่วง ("A1") เลือก SendKeys "+ {F2}" End Sub 

ตอนนี้รันโค้ดและดูสิ่งที่เราได้รับ

เมื่อเราพยายามรันโค้ดเราได้รับข้อความดังกล่าวข้างต้น สิ่งสำคัญอย่างหนึ่งที่เราต้องจำไว้คือเราไม่สามารถเรียกใช้มาโครที่ใช้“ SendKeys” จากหน้าต่างโปรแกรมแก้ไขภาพพื้นฐานได้

เราจำเป็นต้องเรียกใช้โค้ดจากรายการ "มาโคร"

ปิดหน้าต่าง Visual Basic Editor ก่อน

ไปที่แท็บ "นักพัฒนา" แล้วคลิกที่ "มาโคร"

ตอนนี้รายการมาโครทั้งหมดจะเปิดขึ้นให้เลือกมาโครที่คุณต้องการเรียกใช้ ชื่อมาโครของเราคือ“ Send_Keys_Example” ดังนั้นฉันจะกดปุ่มวิ่ง

คุณจะเห็นว่าเปิดใช้งานตัวเลือกแก้ไขความคิดเห็น

ดังที่คุณเห็นด้านบนได้กำหนดคีย์ลัดของSHIFT + F2เพื่อเปิดตัวเลือกแก้ไขความคิดเห็น

ตัวอย่าง # 2

ตัวอย่างเช่นหากคุณต้องการเปิดหน้าต่าง "วางแบบพิเศษ" โดยใช้วิธี SendKeys เราสามารถทำได้เช่นกัน ขั้นแรกเราต้องคัดลอกเซลล์บางเซลล์จากนั้นใช้ SendKeys

รหัส:

 Sub Send_Keys_Example1 () ช่วง ("A1") คัดลอก SendKeys "% es" End Sub 

เลือกแมโครที่คุณต้องการเรียกใช้จากนั้นคลิกที่เรียกใช้

เมื่อคุณเรียกใช้รหัสจะเปิดขึ้นด้านล่างวางกล่องโต้ตอบพิเศษ

สิ่งที่ต้องจำ

  • SendKeys กำหนดการกดแป้นพิมพ์ให้กับแอปพลิเคชันที่ใช้งานอยู่
  • วิธีนี้ซับซ้อนมากและแนะนำให้ใช้เฉพาะในกรณีที่จำเป็นและเมื่อคุณไม่มีตัวเลือก
  • เมื่อใดก็ตามที่เราใช้ตัวอักษรเป็นคีย์ตัวอักษรทั้งหมดจะต้องเป็นอักขระตัวพิมพ์เล็ก