Top > OOoBasic > Calc > sort > record_macro

*マクロの記録 [#f6a72402]
マクロの記録を開始してから、メニューの 「データ」 から 「並べ替え」 を選んで実行すると、以下のようなコードが生成されます。
#code(ob){{
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(6) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ByRows"
args1(0).Value = true
args1(1).Name = "HasHeader"
args1(1).Value = false
args1(2).Name = "CaseSensitive"
args1(2).Value = false
args1(3).Name = "IncludeAttribs"
args1(3).Value = true
args1(4).Name = "UserDefIndex"
args1(4).Value = 0
args1(5).Name = "Col1"
args1(5).Value = 1
args1(6).Name = "Ascending1"
args1(6).Value = true
dispatcher.executeDispatch(document, ".uno:DataSort", "", 0, args1)
}}

 dim document as object
 dim dispatcher as object
 document = ThisComponent.CurrentController.Frame
 dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
 dim args1(6) as new com.sun.star.beans.PropertyValue
 args1(0).Name = "ByRows"
 args1(0).Value = true
 args1(1).Name = "HasHeader"
 args1(1).Value = false
 args1(2).Name = "CaseSensitive"
 args1(2).Value = false
 args1(3).Name = "IncludeAttribs"
 args1(3).Value = true
 args1(4).Name = "UserDefIndex"
 args1(4).Value = 0
 args1(5).Name = "Col1"
 args1(5).Value = 1
 args1(6).Name = "Ascending1"
 args1(6).Value = true
 dispatcher.executeDispatch(document, ".uno:DataSort", "", 0, args1)

これも sort と同様に使えるようです。
sort と違って、引数が入れ子とならない分、場合によっては sort よりもコードが見やすくなるかもしれません。

|名前|値|意味|
|ByRows|true|上から下へ(行を並べ替える)|
|~|false|左から右へ(列を並べ替える)|
|HasHeader|true|列ラベルを含む範囲|
|~|false|列ラベルを含まない範囲|
|CaseSensitive|true|大文字と小文字を区別する|
|~|false|大文字と小文字を区別しない|
|IncludeAttribs|true|書式を含む|
|~|false|書式を含まない|
|UserDefIndex|0~|順序リスト (標準では曜日順) を指定しない場合は 0|
|Col(n)|番号|(n) は優先順位 1~3。番号は 1 から始まる列番号か行番号|
|Ascending(n)|true|Col(n) は昇順|
|~|false|Col(n) は降順|

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes