Top > OOobbs > 20

OOobbs/20

  • サマリ: Dialog上のcomboboxにリストのItemを指定して表示させたい。
  • 環境: Calc
  • 状態: 解決
  • 投稿者: suou?
  • 投稿日: 2004-06-08 (火) 18:27:08

質問

いつもご教示頂き大変勉強になっております。 さて、下記のようなSubを書き、その中の[表示コマンド]の位置に ?oComBox.SelectedItem("D") ?oComBox.SelectItem("D", enable) ?oComBox.SelectItem("D", true) ?oComBox.makeVisible(3) ?oComBox.Model.StringItemList(3).makeVisible() ?SelectListboxItem(oComBox, 3) ?SelectListboxItem(oComBox.Model, 3) を書いてコンボ・ボックスに"D"を表示させようとしましたが、ことごとく失敗しました。どこをどうすればいいのでしょうか。

Sub Test
dim oDiaolg as object
dim oCombox as object
dim aABC() as string
   aABC() = Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")
   oDialog = CreateUnoDialog(DialogLibraries.Standard.testdlg)
   oComBox = oDialog.GetControl("ComboBox1")
   oComBox.Model.StringItemList()=aABC()
  '[表示コマンド]
   oDialog.execute()
End Sub

なお、?、?番目のSelectListboxItem()はsofficeのライブラリ[Tools]のListboxモジュールにあったもので以下のものです。

Sub SelectListboxItem(oListbox as Object, iSelIndex as Integer)
Dim LocSelList(0) as Integer
   If iSelIndex <> -1 Then
	LocSelList(0) = iSelIndex
	oListbox.SelectedItems() = LocSelList()
   End If
End Sub

リストボックスにアイテムは入っていてもDialogが現れたとき何も表示されないのは殺風景ですので、教えて頂ければとても嬉しいです。

回答

  • 表示は,setText メソッドを使います。
oComBox.setText( "D" )

とします。

えっと,気になったので更に説明を付け加えますが,

oComBox.Model.StringItemList()=aABC()

の行の操作は,oComBox オブジェクトのメソッドを使って行ったほうが汎用的,さらに詳しく変更することができます。

OOoBasic/Generic/obj/ComboBox? のページにある addItems メソッドを使うと,与えた配列のアイテムをコンボボックスのアイテムの特定の位置 (順番) に挿入することもできます。たとえば,次のようにします。

oComBox.addItems( aABC(), 0 )

このようにすると,同じようにコンボボックスにアイテムが設定されます。二つ目の引数が,アイテムを挿入する位置です。

このメソッドでは,アイテムは追加されていくだけで,途中でアイテムを変更しても前のアイテムは削除されません。そこで,removeItems メソッドを使ってアイテムを削除しますが,このメソッドは削除するアイテムの開始位置と個数を引数に取ります。そこで,すべてのアイテムを削除したいときには getItemCount メソッドでアイテム数を数えます。

アイテム一つを追加するメソッドは addItem メソッドです。付け加えるアイテムの文字列と,位置を引数に取ります。

その他のメソッドについては,OOoBasic/Generic/obj/ComboBox? を参考にしてください。

  • はにゃ?? 2004-06-09 (水) 01:26:14
  • いつもながら、迅速なご教示ありがとうございます。表示はsetString()では旨くいきませんでしたが、setText()で旨くいきました。今後はOOoBasic/Generic/obj/の頁もよく読むようにします。ありがとうございました。 -- suou? 2004-06-09 (水) 10:09:21
  • ごめんなさい、間違いました。書き直しておきました。 -- はにゃ?? 2004-06-09 (水) 11:48:20


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