星期五, 4月 06, 2012

OpenOffice/LibreOffice Calc Macros(2)

為了想用內建的 BASIC 語法來抓網站內容,找了好一陣子,找到 OpenOffice 文件正體中文化網站OOo中文手冊網站 也利用Google爬了一些文,然後也看了 LibreOffice 的輔助說明,發現似乎沒有很方便的函數來做這件事情。

然後,又回頭試了 Python,這次是在 Windows 上試,要寫 script 的話,要把 script 放在 %USERPROFILE%\Application Data\LibreOffice\3\user\Scripts\python 下,這樣就可以執行了。當使用 [工具][巨集][執行巨集] 打開「巨集選擇器」以後,就可以在對話盒左邊的「我的巨集」項目裡找到你程式裡的函式,然後就可以選擇要執行哪一個了。

def main():
    # 取得當前文件
    doc = XSCRIPTCONTEXT.getDocument()
    # 取得第一張工作表
    sheet = doc.Sheets.getByIndex(0)

    # 填字串,一般字串跟 unicode 字串都可以
    sheet.getCellRangeByName("A4").String = sys.version
    sheet.getCellRangeByName("A5").String = "Hello World"
    sheet.getCellRangeByName("A6").String = u"Hello world2"

使用 python 的話,要抓檔案或是要做什麼複雜處理的,就很方便了,需要什麼函式庫,就自己裝上去就行。但是缺點就是失去了部分的可攜性,在沒有 python 的環境下,無法執行。

沒有留言: