Libreoffice Macro by Python : พื้นฐาน
พื้นฐาน
ก่อนอื่นต้องเข้าใจก่อนว่า เราสามารถเชื่อมต่อ Libreoffice กับโปรแกรมอื่นๆ ต้องมี Bridge เพราะ Libreoffice ถูกเขียนด้วย Java (JRE)
Python จะมี Python-UNO Bridge หรือ PyUNO เป็นหลัก โดยมันฝังมากับ Libreoffice อยู่แล้ว
เริ่มต้นการเขียน
Tool>> Macro >> Python >>
เมื่อเปิด Office Macro มันจะมีตัวอย่าง แต่ตัวอย่างจะไม่สามารถแก้ไขอะไรได้ Run ได้อย่างเดียว ยังทำอะไรไม่ได้
APSO คืออะไร
Alterantive Python Script Organizer มันคือการเขียน Python Script เพื่อใช้งาน Macro ซึ่งคุณต้อง Download แล้วเข้าไปที่ Tools >>Extension >> add >> Browse ไปที่ไฟล์ ที่ดาวน์โหลดมา
เสร็จแล้ว ให้ Check Update อีกครั้ง
คราวนี้เรากลับมาที่เดิม แต่เราจะต้องจำ PATH Python ของเราให้ได้ มันจะไปเรียก Python ของโปรแกรม (ไม่ใช่ที่เราลง Python ไว้) โดยมันจะอยู่คนละที่กับ Macro ของ Libreoffice
เรากลับมาคราวนี้เราจะสามารถ Create Edit มันได้แล้ว
เริ่มต้นอีกครั้ง
Create>> Module >> ตั้งชื่อ
ตอนนี้จะเกิดไฟล์ชื่อตามที่เราตั้ง เราสามารถเอาไฟล์.py ตัวนี้ไปเปิดใน IDE อื่นๆ ได้เลย
Basic
1. การเพิ่มค่า
desktop = xcripcontext.getDesktop()
model = desktop.getCurrentComponent()
sheet = model.CurrentController.ActiveSheet()
range = sheet.getCellRangeByName("Ä1:A3")
2. การหาค่า Sum
sum = 0
for row in range.Rows:
sum == row.getCellByPosition(0,0).Value
3. ใส่ค่า
sheet.getCellRangeByName("B3").Value = sum
การใช้ Msgbox
from apso_utils import msgbox
msgbox ("done")
วิธีการรัน ก็กดเข้าไปเรียก Python Shell แล้วรันไฟล์ดังกล่าวก็ได้เลย
การใช้เวลา
import datetime
ความคิดเห็น
แสดงความคิดเห็น