* [Macro]XStyleFamiliesSupplierのDisplayName Methodについて [#bb2003e6]
 |RIGHT:|LEFT:|c
 |~ページ|[[OpenOffice.org FAQの登録ページ]]|
 |~投稿者|new_OOo3|
 |~分類|#listbox3(Q&A,faq03,class)|
 |~優先順位|#listbox3(普通,faq03,priority)|
 |~状態|#listbox3(回答中,faq03,state)|
 |~状態|#listbox3(完了,faq03,state)|
 |~カテゴリー|#listbox3(その他,faq03,category)|
 |~投稿日|2010-04-11 16:34:23 (日)|
 |~OS|WindowsXP|
 |~依存するページ||
 |~バージョン|#listbox3(3.2.0,faq03,version)|
 
 ** メッセージ [#z6f35eb9]
 |LEFT:|c
 |回答ページでは行末に「~」を付加する必要はありません|
 題目 : 【Macro】XStyleFamiliesSupplierのDisplayName Methodについて~
 お世話になっております。~
 現在、Style関係について勉強を行っており、添付file中のmacroを作成しました。~
 しかし、macro中で~
  oDoc = StarDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, Dummy())
   oObjStyles = oDoc.StyleFamilies.getByIndex(i)
   oCount(i) = oObjStyles.getCount - 1
   oNames = oObjStyles.getElementNames()
   for n = 0 to oCount(i)
    oOutName(i,n) = oNames(n)
   next n
 にて取得したoOutName(i,n)と~
  oDoc = StarDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, Dummy())
   oObjStyles = oDoc.StyleFamilies.getByIndex(i)
   oCount(i) = oObjStyles.getCount - 1
   for n = 0 to oCount(i)
    oStyle = oObjStyles.getByIndex(n)
    oDisplayName(i,n) = CStr(oStyle.DisplayName)
   next n
 
 にて取得したoDisplayName(i,n)の順番が対応しておりません。~
 つきましては、~
 ~
  oOutName(i,n) = oDisplayName(i,n)
 ~
 とする方法をご教示頂けます様お願いします。~
 ~
 もし、BugならばIssueに上げたいと思います。当方での検索では同様Issueは見つかりませんでした。~
 ~
 宜しくご回答を頂けます様お願いします。~
 
 
 ----
 ***css.container.XNameAccess で… [#pa52b911]
 >はにゃ? (2010-04-11 17:19:03 (日))~
 ~
 css.container.XIndexAccess ではインデックスで要素を取得するのでコンテナ内での順番が異なると同じにならないかもしれません。~
 css.container.XNameAccess で取得してはどうでしょうか?~
 ~
  sNames = oObjStyles.getElementNames()
  for n = 0 To UBound(sNames) step 1
    oStyle = oObjStyles.getByName(sName(n))
    oOutName(i,n) = oNames(n)
    oDisplayName(i,n) = CStr(oStyle.DisplayName)
  next
 
 //
 ***ありがとうございました。 [#wf5d7631]
 >new_OOo3 (2010-04-13 22:24:54 (火))~
 ~
 はにゃ? 様~
 ~
 ご回答ありがとうございました。~
 ご指摘通りにXNameAccessにて取得した所、上手く出来ました。~
 本当にありがとうございます。~
 
 //
 #article