「OOo Basic で OOo Calc の選択セルを右へ進み,下へ進み,行頭へ進む」の一部をサブルーチン化
下へ進むサブルーチンを作り,実行している.次のコードは右に 5 進み,下に 2 進み,行頭へ進んでいる.マクロ開始セルを start とし,goal と書いたセルに 到着する事を確認した.
REM ***** BASIC ***** sub Main rem ---------------------------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem ---------------------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") rem ---------------------------------------------------------------------- dim args1(1) as new com.sun.star.beans.PropertyValue args1(0).Name = "By" args1(0).Value = 1 args1(1).Name = "Sel" args1(1).Value = false dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args1()) rem ---------------------------------------------------------------------- dim args2(1) as new com.sun.star.beans.PropertyValue args2(0).Name = "By" args2(0).Value = 1 args2(1).Name = "Sel" args2(1).Value = false dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args2()) rem ---------------------------------------------------------------------- dim args3(1) as new com.sun.star.beans.PropertyValue args3(0).Name = "By" args3(0).Value = 1 args3(1).Name = "Sel" args3(1).Value = false dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args3()) rem ---------------------------------------------------------------------- dim args4(1) as new com.sun.star.beans.PropertyValue args4(0).Name = "By" args4(0).Value = 1 args4(1).Name = "Sel" args4(1).Value = false dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args4()) rem ---------------------------------------------------------------------- dim args5(1) as new com.sun.star.beans.PropertyValue args5(0).Name = "By" args5(0).Value = 1 args5(1).Name = "Sel" args5(1).Value = false dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args5()) rem ---------------------------------------------------------------------- dim args6(1) as new com.sun.star.beans.PropertyValue args6(0).Name = "By" args6(0).Value = 1 args6(1).Name = "Sel" args6(1).Value = false dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args6()) rem ---------------------------------------------------------------------- dim args7(0) as new com.sun.star.beans.PropertyValue args7(0).Name = "Sel" args7(0).Value = false dispatcher.executeDispatch(document, ".uno:GoToStartOfRow", "", 0, args7()) demoBug(dispatcher,document) end sub REM ***** Module2 ***** 'Option Explicit Sub demoBug(dispatcher,document) rem ---------------------------------------------------------------------- dim args6(1) as new com.sun.star.beans.PropertyValue args6(0).Name = "By" args6(0).Value = 1 args6(1).Name = "Sel" args6(1).Value = false dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args6()) End Sub