วันอังคารที่ 22 ตุลาคม พ.ศ. 2556

Excel กับ ฟังก์ชั่น Call

                                      Excel กับ ฟังก์ชั่น Call ฟังก์ชั่น Call เป็นฟังก์ชั่น ภายนอก Excel ทำหน้าที่ เรียกใช้กระบวนงาน (proce... thumbnail 1 summary
                                      Excel กับ ฟังก์ชั่น Call

ฟังก์ชั่น Call เป็นฟังก์ชั่น ภายนอก Excel ทำหน้าที่ เรียกใช้กระบวนงาน (procedure) ใน Dynamic link library หรือ code resource ฟังก์ชั่นนี้มีรูปแบบใช้ 2 แบบ ให้ใช้รูปแบบการใช้ที่ 1 เท่านั้น กับ Code resource ที่ได้จดทะเบียนก่อนหน้านี้ ซึ่งจะใช้อาร์กิวเมนต์จากฟังก์ชั่น REGISTER และให้ใช้รูปแบบการใช้ที่ 2 ในการจดทะเบียนพร้อมกัน และเรียก code resource

รูปแบบ ที่หนึ่ง คือ Call (register_id, argument1,…)

รูปแบบที่ สอง คือ Call(module_text,procedure,type_text,argument1,…)

Register_id คือ การส่งกลับค่าโดย REGISTER ที่ได้ปฏิบัติการก่อนหน้านี้ หรือฟังก์ชั่น REGISTER.ID

Argument1,… คือ อาร์กิวเมนต์ที่ผ่านไปให้กับกระบวนงาน

Module_text คือ ข้อความที่อ้างซึ่งระบุชื่อของ dynamic link library (DLL) ที่ประกอบด้วยกระบวนงานใน Microsoft Excel สำหรับ Windows

File_text คือ ชื่อของแฟ้มที่ประกอบด้วย code resource ใน Microsoft Excel สำหรับ Macintosh

Procedure คือ ข้อความที่ระบุขื่อของฟังก์ชั่นใน DLL ใน Microsoft Excel สำหรับ Windows คุณยังสามารถใช้ค่าลำดับที่ ของฟังก์ชั่นจากประโยคคำสั่ง EXPORTS ในแฟ้มนิยามโมดูล (.DEF) ค่าลำดับที่จะต้องอยู่ในแบบของข้อความ

Resource คือชื่อของ code resource ใน Microsoft Excel สำหรับ Macintosh คุณยังสามารถใช้หมายเลขทรัพยากรได้อีกด้วย หมายเลขทรัพยากรจะต้องไม่อยู่ในแบบของข้อความ

Type_text คือ ข้อความที่ระบุชนิดข้อมูลของค่าที่คืนมาและอาร์กิวเมนต์ทั้งหมดไปที่ DLL หรือ code resource ตัวอักษรตัวแรกของ type_text จะระบุค่าที่ส่งกลับมา มีการอธิบายรายละเอียดรหัสที่คุณใช้สำหรับ type_text ใน การใช้ ฟังก์ชั่น CALL และ REGISTER สำหรับ DLLs แบบเอกเทศหรือ code resource (XLLs) โดยคุณสามารถละอาร์กิวเมนต์นี้ได้

ฟังก์ชั่นที่เกี่ยวข้อง : REGISTER.ID

ให้ทดลองพิมพ์สูตรในโปรแกรม Excel ดังต่อไปนี้ แล้วสังเกตผลที่ได้

· ที่ Excel คลิกเซลล์ B2 แล้วพิมพ์ =register.id(“kernel32”,”GetTickCount”,”J”)และกด Enter จะแสดงค่า -1439170560

· ที่ Excel คลิกเซลล์ B3 แล้วพิมพ์ =call(b2) และกด Enter จะแสดงค่า 22711845

· ที่ Excel คลิกเซลล์ B5 แล้วพิมพ์ = call(“kernel32”, “GetTickCount”,”J”) และกด Enter จะแสดงค่า 22747775