ถ้าพูดถึง
OpenOffice
/ LibreOffice Basic ในช่วงที่ผู้เขียนเริ่มจัดทำหนังสือเล่มนี้
อาจจะเป็นชื่อของภาษาโปรแกรมคอมพิวเตอร์ที่คนไทยรู้จักน้อยมาก
แต่ถ้าพูดถึง Visual
Basic หรือ
VBA
( Visual Basic for Appliction)
สำหรับคนที่ต้องเกี่ยวข้องกับเครื่องคอมพิวเตอร์ในบ้านเราอาจจะเป็นชื่อของภาษาโปรแกรมที่คุ้นเคยมากกว่า
ภาษา
OpenOffice
/ LibreOffice Basic หรือ
Star
Basic เป็นภาษาโปรแกรม
หรือภาษาแมโครสำหรับช่วยเพิ่มประสิทธิภาพการใช้งานโปรแกรมต่างๆ
ของ OpenOffice
/ LibreOffice โดยผู้ใช้งานสามารถใช้ชุดคำสั่งของภาษา
OpenOffice
/ LibreOffice Basic เรียกใช้
API
(Application Programming Interface) ของ
OpenOffice
/ LibreOffice ในการจัดทำงานประยุกต์
(Application)
บนโปรแกรมต่างๆ
ของ OpenOffice
/ LibreOffice ในลักษณะที่ไม่ต่างจากการใช้
VBA
ที่ใช้เป็นภาษาแมโครบนไมโครซอฟท์ออฟฟิศ
ภาษา
OpenOffice
/ LibreOffice Basic มีชื่อเรียกอีกชื่อหนึ่ง
คือ Star
Basic
เหตุผลสำคัญที่เลือกใช้ภาษา
OpenOffice
/ LibreOffice Basic
 |
รูป
บทนำ-1
ภาษาแมโครบน
OpenOffice
/ LibreOffice |
จุดเด่นสำคัญประการหนึ่งของโปรแกรมชุดสำนักงาน
OpenOffice
/ LibreOffice คือ
เป็นโปรแกรมชุดสำนักงาน
ที่สามารถเลือกใช้ภาษาโปรแกรมหรือภาษาแมโครในการเรียกใช้
OpenOffice
/ LibreOffice API ได้หลากหลายภาษา
เช่น ภาษา Java,
C++, CLI (Common Language Infrastructure), Object Linking and
Embedding (OLE) Automation อย่าง
Visual
Basic, Delphi, VBScript, JScript (บนแพล็ตฟอร์ม
Win32
เท่านั้น),
Python และ
OpenOffice
/ LibreOffice Basic เป็นต้น
ในบรรดาภาษาโปรแกรมต่างๆ
ที่กล่าวมาในข้างต้น มีเพียงภาษา
Python
และ
OpenOffice
/ LibreOffice Basic เท่านั้นที่มีกลไกจัดการภาษา
(engine
หรือ
interpreter)
รวมอยู่ในชุดของ
OpenOffice
/ LibreOffice แต่มีเพียงภาษา
OpenOffice
/ LibreOffice Basic เท่านั้นที่มีส่วน
IDE
และ
runtime
libraries และคู่มือออนไลน์รวมอยู่ในชุดของ
OpenOffice
/ LibreOffice เรียบร้อย
ไม่จำเป็นต้องติดตั้งเครื่องมือใดๆ
เพิ่ม ส่วนการใช้ภาษาโปรแกรมอื่นๆ
จำเป็นต้องอาศัยเครื่องมือต่างๆ
จากชุด SDK
(Software Development Kit) ของ
OpenOffice
/ LibreOffice ซึ่งต้องทำการติดตั้งเพิ่มเติม
จุดเด่นของภาษา
OpenOffice
/ LibreOffice Basic
สำหรับจุดเด่นที่น่าสนใจของภาษาแมโคร
OpenOffice
/ LibreOffice Basic สำหรับโปรแกรมชุดสำหรับงาน
OpenOffice
/ LibreOffice มีดังนี้
- เป็นภาษาแมโครที่มี
Basic
Interpreter (ตัวแปลภาษา
Basic)
และ
IDE
รวมอยู่ในชุดของ
OpenOffice
/ LibreOffice
 |
รูป
บทนำ-2
IDE สำหรับภาษา
OpenOffice
/ LibreOffice Basic |
- สามารถเรียกใช้
API
ของ
OpenOffice
/ LibreOffice ได้อย่างสมบูรณ์
และด้วยวิธีการที่ไม่ยุ่งยาก
- มีคู่มือแบบ
On-line
รวมอยู่ในส่วนช่วยเหลือ
(Help)
ของ
OpenOffice
/ LibreOffice
- มีรูปแบบการใช้ชุดคำสั่งคล้าย
VBA
ของไมโครซอฟท์
 |
รูป
บทนำ-3
คู่มือสำหรับการสร้างแมโครบน
OpenOffice |
องค์ประกอบของภาษา
OpenOffice
/ LibreOffice Basic
สำหรับส่วนประกอบของภาษาแมโคร
OpenOffice
/ LibreOffice Basic บนโปรแกรมชุดสำนักงาน
OpenOffice
/ LibreOffice จะมีส่วนประกอบที่สำคัญ
4
ประการ
ดังนี้
- ลักษณะทางภาษาของภาษาแมโคร
OpenOffice
/ LibreOffice Basic หมายถึง
รายละเอียดเกี่ยวกับตัวภาษาโปรแกรมเช่น
วิธีการตั้งตัวแปร,
การสร้างชุดคำสั่ง
(subroutine
หรือ
function),
วิธีการใช้คำสั่งควบคุมทิศทางของโปรแกรม
หรือ วิธีการใช้คำสั่งควบคุมการวนซ้ำ
เป็นต้น ซึ่งจะใช้แบบเดียวกับภาษา
Basic
มาตรฐาน
- ส่วน
Runtime
Library หมายถึง
ชุดคำสั่งหรือฟังก์ชันสำเร็จรูปที่เป็นคำสั่งพื้นฐานของภาษา
Basic
- ส่วน
API
ของ
OpenOffice
/ LibreOffice หมายถึง
กระบวนการในการใช้ชุดคำสั่งของภาษาแมโคร
OpenOffice
/ LibreOffice Basic
ในการจัดการองค์ประกอบภายในตัวเอกสารที่สร้างบนโปรแกรมต่างๆ
ของ OpenOffice
/ LibreOffice
- ส่วน
Dialog
Editor
เป็นเครื่องมือที่จัดเตรียมไว้เฉพาะสำหรับให้นักพัฒนาโปรแกรมสร้างไดอะล็อกประกอบในการสร้างงานประยุกต์ด้วยภาษา
OpenOffice
/ LibreOffice Basic

สำหรับองค์ประกอบของภาษา
OpenOffice
/ LibreOffice Basic บนโปรแกรมชุดสำนักงาน
OpenOffice
/ LibreOffice ที่เหมือนกับ
VBA
ของไมโครซอฟท์
(compatible)
คือ
ส่วนที่เป็นรายละเอียดของภาษา
Basic
มาตรฐาน
และ ส่วน Runtime
Library สำหรับส่วน
API
และส่วน
Dialog
Editor จะเป็นองค์ประกอบเฉพาะของภาษา
OpenOffice
/ LibreOffice Basic บน
OpenOffice
/ LibreOffice
Universal
Network Objects
ในการสร้างงานประยุกต์หรือแอพพลิเคชันด้วย
OpenOffice
/ LibreOffice API ไม่ว่าจะเป็นการสร้างด้วยภาษาโปรแกรมอย่าง
OpenOffice
/ LibreOffice Basic หรือภาษาโปรแกรมอื่นๆ
สิ่งหนึ่งที่จะต้องเกี่ยวข้องด้วยเสมอคือ
Universal
Network Objects หรือ
UNO
ซึ่งเป็นองค์ประกอบของ
OpenOffice
/ LibreOffice API
UNO
เป็นเทคโนโลยีชิ้นส่วนโปรแกรม
(Component)
คล้ายกับ
COM
(Component Object Model) ของไมโครซอฟท์
หน่วยย่อยของ UNO
ก็คือ
Object
ต่างๆ
ที่ถูกนำมาประกอบเป็นโปรแกรมต่างๆ
ของ OpenOffice
/ LibreOffice ซึ่งในกรณีของการพัฒนาโปรแกรมด้วยภาษา
OpenOffice
/ LibreOffice Basic จะเรียกว่า
“Service”
(ในหนังสือเล่มนี้จะเรียกว่า
“หน่วยบริการ UNO”
แทน)
UNO
เป็นเทคโนโลยีที่ไม่ขึ้นอยู่กับแพล็ตฟอร์ม
และไม่มีข้อจำกัดในเรื่องของภาษาโปรแกรมที่เรียกใช้
(ในทางทฤษฎี)
และเนื่องจากภาษา
OpenOffice
/ LibreOffice Basic เป็นภาษาโปรแกรมที่มีกลไกรวมอยู่ในชุดของ
OpenOffice
/ LibreOffice ทำให้การเรียกใช้หน่วยบริการต่างๆ
ของ UNO
สามารถกระทำได้ด้วยวิธีการที่ไม่ยุ่งยากเหมือนภาษาอื่นๆ
การอ้างอิงไดเรคทอรีของภาษา
OpenOffice
/ LibreOffice Basic
เนื่องจากโปรแกรมชุดสำนักงาน
OpenOffice
/ LibreOffice เป็นโปรแกรมชุดสำนักงาน
ที่ไม่ขึ้นอยู่กับแพล็ตฟอร์มใดแพล็ตฟอร์มหนึ่ง
ดังนั้นจึงจำเป็นต้องกำหนดวิธีอ้างอิงแฟ้มและไดเรคทอรีให้เป็นรูปแบบเดียวกัน
เนื่องจากในแต่ละแพล็ตฟอร์ม
จะมีวิธีการจัดการแฟ้มและไดเรคทอรีที่แตกต่างกัน
สำหรับการอ้างอิงแฟ้มและไดเรคทอรีในกรณีของ
OpenOffice
/ LibreOffice Basic จะใช้รูปแบบเดียวกับการอ้างอิง
URL
บนเครือข่ายอินเตอร์เน็ต
(URL
notation : Internet Standard RFC 1738) ซึ่งจะต้องขึ้นต้นด้วย
“file:///”
แล้วตามด้วยไดเรคทอรีและแฟ้มที่ต้องการอ้างอิง
ตัวอย่างเช่น
ถ้าต้องการอ้างอิงแฟ้มชื่อ
test.txt
ที่อยู่ในไดเรคทอรี
/doc
บนลินุกซ์
หรือ อยู่ใน C:\doc
บนไมโครซอฟต์วินโดวส์
เมื่อเขียนอยู่ในรูปแบบที่กำหนดในข้างต้น
จะมีลักษณะดังนี้
ตัวอย่าง
กรณีอ้างอิงแฟ้มบนระบบปฏิบัติการลินุกซ์
“file:///doc/test.txt”
ตัวอย่าง
กรณีอ้างอิงแฟ้มบนระบบปฏิบัติการไมโครซอฟต์วินโดวส์
“file:///C:/doc/test.txt”
คำจำกัดความและคำย่อในหนังสือเล่มนี้
ตารางที่
1
: คำจำกัดความ
คำจำกัดความ
|
รายละเอียด
|
Service |
หมายถึง
Object
หรือ
Type
หรือ
Class
ในภาษาโปรแกรมอื่นๆ
ซึ่งในที่นี้หมายถึง UNO
Service |
หน่วยบริการ
UNO |
หมายถึง
Service
หรือ
UNO
Service |
ตารางที่
2
: คำย่อที่ใช้ในหนังสือเล่มนี้
คำย่อ
|
รายละเอียด
|
COM |
Component
Object Model |
GUI |
Graphic
User Interface |
IDE |
Integrated
Development Environment |
OLE |
Object
Linking and Embedding |
OO/LB |
OpenOffice
/ LibreOffice |
OO/LB
Basic |
OpenOffice
/ LibreOffice Basic |
SDK |
Software
Development Kit |
UNO |
Universal
Network Object |
VB |
Visual
Basic |
VBA |
Visual
Basic for Application |
บันทึกประจำวันที่
2
มิถุนายน
พ.ศ.
2557 (2014)
เวลา
|
เหตุการณ์
|
06:00
น.
|
ตืนนอน |
06:30
น. |
งานของกิจกรรมอาชีพ
กสิกรรมธรรมชาติ บ้านแม่ทำ
สีทา (3/2557):แยกต้นกาแฟใสถุงย่อย |
07:15
น. |
ถอนหญ้าหน้าบ้าน |
08:00
น. |
0.กินข้าวเช้า |
1.กับข้าว:ผัดผักบุ้ง,
หน่อไม้ต้มน้ำใบย่านาง,
น้ำพริก,
แกงป่ามะเขือขื่นปลาดุก |
|
08:30
น. |
เก็บเศษหญ้าไปทำปุ๋ยหมัก,
กวาดใต้ถุนบ้าน |
10:00
น. |
อาบน้ำ |
10:15
น. |
ทำบัญชีครัวเรือน
ทำบันทึกประจำวนของวันก่อน |
11:00
น. |
งานของกิจกรรมอาชีพ
งานอินเตอร์เน็ต
(18/2557):แก้ไขเนื้อหาในส่วนบันทึกประจำวันตั้งแต่วันที่
30
พฤษภาคม ถึง 1
มิถุนายน |
11:45
น. |
งานของกิจกรรมอาชีพ
งานคอมพิวเตอร์
(15/2557):ทำต้นฉบับบทความเรื่องใหม่ |
12:30
น. |
0.กินข้าว
พักผ่อน |
1.กับข้าว:ผัดผักบุ้ง,
หน่อไม้ต้มน้ำใบย่านาง,
น้ำพริก,
แกงป่ามะเขือขื่นปลาดุก |
|
13:30
น. |
งานของกิจกรรมอาชีพ
กสิกรรมธรรมชาติ บ้านแม่ทำ
สีทา (3/2557):เอาอีเอ็มขยายราดบ่อปลา |
14:00
น. |
งานของกิจกรรมอาชีพ
งานคอมพิวเตอร์
(15/2557):ทำต้นฉบับบทความเรื่องใหม่ |
15:30
น. |
งานของกิจกรรมอาชีพ
การตลาดและการลงทุน
(20/2557):ไปหาลูกค้า
YIC
(บ้านพี่ใจหนองกระดี่,
บ้านก้อย
ลานปาล์มท่อเดื่อ) |
20:30
น. |
0.อาบน้ำ
กินข้าว พักผ่อน |
1.กับข้าว:แกงกบมะเขือพวง,
หน่อไม้ไผ่ตงต้มน้ำใบย่านาง,
ผัดฟักทอง |
|
22:00
น. |
เข้านอน |