คำอธิบาย
CALL เป็นฟังก์ชันที่ช่วยให้ Excel เชื่อมกับโปรแกรมใน Dynamic Link Library (DLL) หรือ resource ของ code บน Windows และ Mac! คิดดูสิคุณสามารถเรียกใช้ฟังก์ชันของโปรแกรมที่เกือบทุกอย่างได้จากใน Excel เลยนะ! ล้ำสุดๆ ไปเลย!
มีครั้งแรกในเวอร์ชันไหน
2003 หรือ Version ก่อนหน้า
รูปแบบคำสั่ง (Syntax)
CALL(module_text,procedure,type_text,[argument1],...)
Arguments
-
module_text (Required – string)
ชื่อของ DLL ที่คุณต้องการเรียกใช้ ฟังก์ชันนี้จำเป็นต้องมีนะ! -
procedure (Required – string)
ชื่อฟังก์ชันที่เราต้องการเรียกใช้ใน DLL หรือใช้ค่า ordinal ของ EXPORTS statement ใน .DEF ไฟล์นะ -
type_text (Required – string)
ข้อมูลประเภทของผลลัพธ์ที่ต้องการให้คืน และประเภทของ argument ที่ฟังก์ชันจะใช้ -
argument1,… (Optional – any)
argument ที่จะถูกส่งเข้าในฟังก์ชันที่เราเรียกใช้
ตัวอย่างการใช้งาน (Examples)
-
Formula:
Description: เรียกใช้ฟังก์ชัน Add ใน DLL ที่ชื่อว่า myFunctions.dll และส่งค่าใน A1 และ A2 ไปให้=CALL("myFunctions", "Add", "C", A1, A2)
Result:จะได้ผลลัพธ์เป็นผลบวกของค่าที่อยู่ใน A1 และ A2 -
Formula:
Description: เรียกใช้ GetTickCount บน Kernel32 DLL เพื่อดูว่าผ่านมากี่ milliseconds หลังจากที่ Windows เริ่มทำงาน=CALL("Kernel32", "GetTickCount", "J")
Result:จะได้เวลาที่ผ่านตั้งแต่เริ่มใช้งาน Windows ในหน่วย milliseconds -
Formula:
Description: ใช้ CALL เพื่อเรียกใช้ DLL ที่ได้ถูก REGISTER ไว้ก่อนหน้าในเซลล์ A5=CALL(A5)
Result:จะคืนค่าจากฟังก์ชันที่ REGISTER ไว้ใน A5 -
Formula:
Description: เรียกฟังก์ชัน XLM GET.CELL เพื่อหาชื่อฟอนต์ของเซลล์ A1=CALL("Xlcall32", "Excel4", "2JRJRR#", 185, 2, 18, A1)
Result:จะบอกชื่อฟอนต์ที่ใช้ใน A1 -
Formula:
Description: ลงทะเบียนฟังก์ชัน GetTickCount จาก Kernel32REGISTER("Kernel32","GetTickCount","J")
Result:หลังจากการลงทะเบียน เราสามารถใช้ CALL เพื่อเรียกใช้ฟังก์ชันนี้ได้จากเซลล์ที่มี REGISTER
Tips & Tricks
CALL ฟังก์ชันเป็นเครื่องมือที่ทรงพลังสำหรับ advanced users! การเซ็ตอัพ DLL ของคุณและใช้มันอย่างถูกต้องสามารถเพิ่มขีดความสามารถของ Excel ได้เยอะ แต่ต้องใช้แบบระวัง เพราะอาจทำให้ Excel ค้างหรือ crash ได้ถ้าใช้ผิด!
ข้อควรระวัง (Cautions)
โปรดระวัง! การใช้งาน CALL อย่างไม่รอบคอบสามารถทำให้ Excel พังหรือแม้แต่ต้อง restart คอมพ์ได้! ฟังก์ชันนี้เหมาะสมสำหรับผู้ใช้งานระดับสูงเท่านั้นและควร Backup ข้อมูลก่อนที่จะแตะต้อง Registry!
ฟังก์ชันที่เกี่ยวข้อง
ข้อดี / ข้อจำกัด
CALL ทำให้คุณสามารถเรียกใช้ฟังก์ชันจาก DLL ได้ ใช้ได้เฉพาะ Microsoft Excel และไม่ได้รองรับบน Excel for the web! เหมาะสำหรับใช้งานระดับโปรเท่านั้น เนื่องจากมีความเสี่ยงต่อการทำงานผิดพลาด!
References
ขอบคุณที่เข้ามาอ่านนะครับ ❤️
Leave a Reply