src: http://www.debugpoint.com/2014/09/writing-a-macro-in-libreoffice-calc-getting-started/

LibreOffice巨集筆記: Writing a Macro in LibreOffice Calc – Getting Started

REM  *****  BASIC  *****
sub hello_world
'定義二個變數
	dim document   as object
	dim dispatcher as object
'指定二個變數的值
'用ThisComponent指向現在文件。在 LibreOffice 中您做的任何事(類型、顏色、插入)都是用 controller 來監控。controller發送這些改變給文件frame。如此文件變數就出現在Calc主區域中。
'用 createUnoService建立DispatchHelper服務。主要用來發放從巨集到frame的任務。幾乎所有LO巨集任務都是使用dispatcher來執行發送任務。
	document   = ThisComponent.CurrentController.Frame
	dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
'我們宣告陣列屬性。屬性通常是一對的(名稱/數值)。因此名稱包含了屬性名稱,而數值則包含了屬性數值。
	dim args1(0) as new com.sun.star.beans.PropertyValue
	dim args2(0) as new com.sun.star.beans.PropertyValue
'要放在第一個儲存格值為 Hello World ,我們需要二個屬性'ToPoint' and 'StringName'.
	args1(0).Name = "ToPoint"
	args1(0).Value = "$A$1"
'呼叫dispatcher的executeDispatch事件執行 .uno:GoToCell命令
	dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
 
	args2(0).Name = "StringName"
	args2(0).Value = "Hello World!"
'呼叫dispatcher的executeDispatch事件執行 .uno:EnterString命令
	dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2())
 
   msgbox "Completed!"
end sub
arrow
arrow

    理群 發表在 痞客邦 留言(0) 人氣()