Top > OOobbs2 > 94

OOobbs2/94 Edit

  • サマリ: ユーザー定義順序リスト
  • 環境: Calc
  • 状態: 解決
  • 投稿者: ike@九州?
  • 投稿日: 2008-03-03 (月) 14:18:24

質問 Edit

お世話になります。

Calcにおいて、ユーザー定義順序リストの追加、削除及びリストのIndexの取得方法が調べてみたのですが全く解りません。 可能ならばよろしくお願いいたします。   例1月〜12月の並び替え他

回答 Edit

  • コンフィグレジストリ org.openoffice.Office.Calc/SortList ノードの List プロパティに定義リストがあります。

型は string-list なので値は配列です。要素ごとに定義リストの定義を含み、定義リストの要素はコンマ "," で区切ります。

値は次のようにして取得します。

Sub Main
  sNode = "org.openoffice.Office.Calc/SortList"
  oCP = CreateUnoService( _
    "com.sun.star.configuration.ConfigurationProvider")
  Dim oNode(0) As New com.sun.star.beans.PropertyValue
  oNode(0).Name = "nodepath"
  oNode(0).Value = sNode
  oCUA = oCP.createInstanceWithArguments( _
     "com.sun.star.configuration.ConfigurationUpdateAccess", oNode )
  sList = oCUA.getPropertyValue("List")
  
  'sList(4) = sList(5)
  'ReDim Preserve sList(4)
  'oCUA.setPropertyValue("List",sList) ' change the property value
  'oCUA.commitChanges()  ' commit
  
  msgbox sList(0)
End Sub

リストの形式

sList(0) = "Sun,Mon,Tue,Wed,Thu,Fri,Sat"
sList(1) = "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday"
sList(2) = ...

変更するときには変更済みの配列を setPropertyValue で設定したのちに commitChanges を行います。

  • はにゃ?? 2008-03-03 (月) 22:27:36
  • 早速の回答ありがとうございました。おかげさまで目的の動作は全て出来ましたが、残念な事にOOoを再起動しないと並び替えに反映されない事も知りました。又宜しくお願いします -- ike@九州? 2008-03-04 (火) 09:30:06

感想,コメント,メモ Edit



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