ในโลกของการเขียนโปรแกรมและการพัฒนาเว็บ API, `CURL` เป็นเครื่องมือที่มีความนิยมมากในการทำ Request ไปยังเซิร์ฟเวอร์เพื่อขอข้อมูลต่าง ๆ หรือส่งข้อมูลไปยัง API ต่าง ๆ ซึ่งในที่นี้เราจะมาคุยกันเกี่ยวกับการใช้งาน CURL ในภาษา VBA (Visual Basic for Applications) ซึ่งเป็นภาษาโปรแกรมยอดนิยมใน Microsoft Office เช่น Excel, Word และ Access
การใช้ CURL ใน VBA จะช่วยให้เราสามารถติดต่อสัมพันธ์กับ RESTful APIs ได้อย่างง่ายดาย ทำให้เราสามารถทำการอ่านข้อมูลจากเว็บหรือบริการออนไลน์ และส่งข้อมูลที่เราต้องการได้อย่างสะดวกสบาย สามารถนำไปประยุกต์ใช้ในโครงการต่าง ๆ อย่างเช่น การดึงข้อมูลจากฐานข้อมูลออนไลน์หรือการอัพโหลดไฟล์ไปยังเซิร์ฟเวอร์
ติดตั้ง CURL ใน VBA
ก่อนอื่นเราต้องทำการติดตั้ง CURL Library ในเครื่องคอมพิวเตอร์ของเรา โดยสามารถดาวน์โหลดได้จากเว็บไซต์ CURL [curl.se](https://curl.se/windows/)
เมื่อดาวน์โหลดมาเสร็จสิ้น ให้ extract ไฟล์ที่เราได้มา ไปยังที่ที่เราสามารถเข้าถึงได้ง่ายจาก VBA
นำเข้า CURL Library ใน VBA
หลังจากติดตั้ง CURL แล้ว เราต้องนำเข้า library ใน VBA เพื่อให้สามารถใช้งาน CURL ได้ โดยการเปิดไฟล์ Excel แล้วกด `Alt + F11` เพื่อเปิดหน้าตัวแก้ไข VBA
จากนั้นให้ไปที่ `Tools` -> `References` และทำการ Browse หาไฟล์ `libcurl.dll` ที่เราได้ extract ไว้แล้ว
การอธิบายการทำงาน
1. สร้าง Object: เราสร้างตัวแปร `curl` ที่จะเก็บ Object ของ `MSXML2.XMLHTTP` ซึ่งเป็นวัตถุที่ใช้สำหรับการส่ง HTTP requests ใน VBA 2. กำหนด URL: กำหนด URL ที่เราต้องการจะเข้าถึงซึ่งในที่นี้เป็น API Example 3. ส่งคำขอแบบ GET: ใช้ `curl.Open` เพื่อเปิดการเชื่อมต่อแบบ GET และใช้ `curl.setRequestHeader` เพื่อกำหนดประเภทของข้อมูลที่จะส่ง 4. ส่ง Request: ใช้ `curl.send` เพื่อส่งคำขอไปยังเซิร์ฟเวอร์ 5. รับค่า Response: ตรวจสอบสถานะของ HTTP response ถ้าสถานะเป็น 200 (โอเค) จะแสดงผลที่ได้ออกมาใน MessageBox
ตัวอย่างการใช้งาน
การเชื่อมต่อกับ API ของบริการข้อมูลอากาศ (Weather API) จะเป็น Application ที่ยกตัวอย่างการใช้งาน CURL ใน VBA ได้ชัดเจน
#### Use Case: ดึงข้อมูลสภาพอากาศ
เราสามารถใช้ CURL เพื่อดึงข้อมูลสภาพอากาศจาก OpenWeatherMap API หากเราต้องการทราบสภาพอากาศในประเทศไทยในปัจจุบัน สามารถใช้ Code ด้านล่างนี้เป็นตัวอย่าง
#### การทำงาน
ในตัวอย่างนี้เราดึงข้อมูลสภาพอากาศของกรุงเทพฯ จาก OpenWeatherMap API โดยส่ง Request ไปยัง URL ที่เราได้กำหนดไว้ ซึ่งผลลัพธ์ที่ได้จะเป็น JSON Response ที่เราสามารถนำไปประมวลผลต่อได้
การใช้งาน CURL ใน VBA เป็นวิธีที่ง่ายและมีประสิทธิภาพในการติดต่อกับ API ต่าง ๆ โดยเฉพาะเมื่อทำงานในโครงการที่ต้องการดึงข้อมูลจากอินเตอร์เน็ตหรือบริการออนไลน์
หากคุณต้องการเรียนรู้พื้นฐานเกี่ยวกับการเขียนโปรแกรมหรือวิธีการติดต่อ API ด้วย CURL ใน VBA มากกว่านี้ เราขอแนะนำให้ศึกษาเพิ่มเติมที่ EPT (Expert-Programming-Tutor) ซึ่งเป็นสถานศึกษาที่จะช่วยเสริมทักษะการเขียนโปรแกรมของคุณและนำความรู้ไปประยุกต์ใช้ในโลกแห่งการทำงานในอนาคต!
อย่ารอช้า! เข้ามาเป็นส่วนหนึ่งใน EPT และพัฒนาทักษะการเขียนโปรแกรมของคุณให้เติบโตไปพร้อมกับเรา!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM