Thep Excel

REGISTER.IDฟังก์ชันส่งกลับรหัสลงทะเบียน DLL

REGISTER.ID ลงทะเบียน DLL หรือทรัพยากรโค้ดและส่งกลับรหัสที่ใช้อ้างอิง ซึ่งต่างจาก REGISTER ตรงที่ REGISTER.ID ใช้งานได้ในแผ่นงานปกติ (worksheet) ไม่เพียงแผ่นงาน Macro และเมื่อเรียกใช้แล้ว สามารถใช้รหัสที่ส่งกลับมาร่วมกับฟังก์ชัน CALL เพื่อเรียกใช้ฟังก์ชันใน DLL ได้

fx
=REGISTER.ID(module_text, procedure, [type_text])

ความนิยม3/10
ความยาก5/10
ประโยชน์4/10

อัปเดต 11 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
module_text text ข้อความที่ระบุชื่อของไฟล์ Dynamic Link Library (DLL) ที่มีฟังก์ชันที่ต้องการลงทะเบียน เช่น ‘Kernel32’ หรือ ‘User32’ (สำหรับ Excel for Windows)
procedure text ชื่อของฟังก์ชันในไฟล์ DLL เช่น ‘GetTickCount’ หรือเลขลำดับ ordinal จากไฟล์ module-definition (.DEF) ของ DLL
[type_text]ไม่บังคับ text ข้อความที่ระบุประเภทข้อมูลของค่าที่ส่งกลับและประเภทข้อมูลของอาร์กิวเมนต์ เช่น ‘J’ สำหรับจำนวนเต็ม 32 บิต ‘C’ สำหรับข้อความ ตัวอักษรตัวแรกแทนประเภทค่าที่ส่งกลับ หากละไว้ถ้า DLL ได้ลงทะเบียนมาแล้ว

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

REGISTER.ID ส่งกลับรหัสลงทะเบียนของไลบรารี DLL หรือทรัพยากรโค้ดที่ได้ลงทะเบียนไปแล้ว หากไม่ได้ลงทะเบียนมาก่อน จะทำการลงทะเบียนในครั้งแรกแล้วส่งกลับรหัส ใช้สำหรับใช้ร่วมกับฟังก์ชัน CALL

How it works

ลงทะเบียน Windows API และเก็บรหัสลงทะเบียน

ใช้ REGISTER.ID เพื่อลงทะเบียนฟังก์ชัน Windows API เช่น GetTickCount จาก Kernel32 DLL แล้วเก็บรหัสลงทะเบียนไว้ในเซลล์เพื่อใช้กับ CALL ในภายหลัง

ตรวจสอบการลงทะเบียนฟังก์ชัน DLL

ใช้ REGISTER.ID โดยไม่ระบุ type_text เมื่อต้องการตรวจสอบว่าฟังก์ชันในไฟล์ DLL ได้ลงทะเบียนมาแล้วหรือไม่ ส่งกลับรหัสเดิม

Examples

ตัวอย่างที่ 1: ลงทะเบียน GetTickCount และเก็บรหัสREGISTER.ID("Kernel32", "GetTickCount", "J!")

สูตรนี้ลงทะเบียนฟังก์ชัน GetTickCount จาก Kernel32 DLL และระบุว่าค่าที่ส่งกลับคือ 'J!' ซึ่งหมายถึงตัวชี้ Windows (J = จำนวนเต็ม 32 บิต ! = ตัวชี้) ผลลัพธ์คือหมายเลขรหัสลงทะเบียนที่สามารถใช้กับ CALL ได้

fx
=REGISTER.ID("Kernel32", "GetTickCount", "J!")

ผลลัพธ์12345 (หรือเลขรหัสลงทะเบียนอื่น ๆ)
ตัวอย่างที่ 2: เรียก CALL ด้วยรหัสลงทะเบียนCALL(A5)

สูตรนี้เรียกใช้ฟังก์ชัน GetTickCount โดยใช้รหัสลงทะเบียนที่เก็บไว้ในเซลล์ A5 (ผลจากการเรียก REGISTER.ID ในตัวอย่างแรก) ผลลัพธ์คือจำนวนมิลลิวินาทีตั้งแต่เปิดระบบ

fx
=CALL(A5)

ผลลัพธ์4294967295 (ค่าจำนวนมิลลิวินาที่ผ่านไป)
ตัวอย่างที่ 3: ตรวจสอบการลงทะเบียนที่มีอยู่REGISTER.ID("Kernel32", "GetTickCount")

สูตรนี้ส่งกลับรหัสลงทะเบียนของ GetTickCount ที่ได้ลงทะเบียนมาแล้ว โดยไม่ต้องระบุ type_text หากฟังก์ชันนี้ได้ลงทะเบียนมาแล้ว จะส่งกลับหมายเลขรหัสเดิม

fx
=REGISTER.ID("Kernel32", "GetTickCount")

ผลลัพธ์12345 (หมายเลขรหัสเดิม)

FAQs

ความแตกต่างระหว่าง REGISTER.ID กับ REGISTER คืออะไร?+

REGISTER เป็นฟังก์ชนเก่า ลงทะเบียน DLL และส่งกลับรหัสในแผ่นงาน Macro เท่านั้น ส่วน REGISTER.ID สามารถใช้ได้ในแผ่นงานปกติ (worksheet) และส่งกลับรหัสลงทะเบียน REGISTER.ID เป็นฟังก์ชันใหม่ที่อัปเดต

ข้อความ type_text มีความหมายอะไร?+

type_text ระบุประเภทข้อมูลของค่าที่ส่งกลับและอาร์กิวเมนต์ ตัวอักษรตัวแรกคือประเภทค่าที่ส่งกลับ (เช่น J = จำนวนเต็ม 32 บิต, C = ข้อความ, R = จำนวนจริง) ตัวอักษรที่ตามมาเป็นประเภทอาร์กิวเมนต์ ! หมายถึงตัวชี้ Windows

REGISTER.ID ใช้ได้ในทุกเวอร์ชัน Excel หรือไม่?+

REGISTER.ID ใช้ได้เฉพาะใน Excel for Windows เท่านั้น ไม่สามารถใช้ใน Excel for the web หรือ Excel for Mac และสามารถใช้ในแผ่นงานปกติได้ ไม่เพียง Macro sheets

ถ้าลงทะเบียน DLL ไม่ถูกต้องจะเกิดอะไรขึ้น?+

หากชื่อ DLL หรือชื่อฟังก์ชันไม่ถูกต้อง REGISTER.ID จะแสดงข้อผิดพลาด #NAME? หรือ #VALUE! เพื่อเลี่ยงข้อผิดพลาดนี้ ให้ตรวจสอบว่าชื่อ DLL และชื่อฟังก์ชันถูกต้อง

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ REGISTER.ID จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้REGISTER.IDAdd-in and Automation
Add-in and Automation (2)
CALL

CALL เรียกใช้ฟังก์ชันหรือโปรแกรมที่อยู่ในไลบรารี DLL หรือทรัพยากรโค้ด สามารถใช้กับ register ID ที่ได้จากฟังก์ชัน REGISTER หรือ REGISTER.ID หรือสามารถระบุโมดูล ชื่อฟังก์ชัน และประเภทข้อมูลโดยตรง เฉพาะสำหรับผู้ใช้ที่มีความรู้เพิ่มเติม เพราะการใช้ไม่ถูกต้องอาจทำให้ต้องรีสตาร์ท Windows

EUROCONVERT

EUROCONVERT แปลงเงินจำนวนต่าง ๆ ให้เป็นยูโร (EUR) หรือแปลงจากยูโรเป็นสกุลเงินที่เป็นสมาชิกของยูโร หรือแปลงระหว่างสกุลเงินสมาชิกยูโรโดยใช้ยูโรเป็นตัวกลาง ต้องระบุสกุลเงินต้นทาง (source) และสกุลเงินปลายทาง (target) โดยใช้รหัส ISO สามตัวอักษร สามารถเลือกแสดงผลแบบปัดเศษหรือแสดงทศนิยมทั้งหมด

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่