OOobbs/20
質問いつもご教示頂き大変勉強になっております。 さて、下記のような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が現れたとき何も表示されないのは殺風景ですので、教えて頂ければとても嬉しいです。 回答
oComBox.setText( "D" ) とします。 えっと,気になったので更に説明を付け加えますが, oComBox.Model.StringItemList()=aABC() の行の操作は,oComBox オブジェクトのメソッドを使って行ったほうが汎用的,さらに詳しく変更することができます。 OOoBasic/Generic/obj/ComboBox? のページにある addItems メソッドを使うと,与えた配列のアイテムをコンボボックスのアイテムの特定の位置 (順番) に挿入することもできます。たとえば,次のようにします。 oComBox.addItems( aABC(), 0 ) このようにすると,同じようにコンボボックスにアイテムが設定されます。二つ目の引数が,アイテムを挿入する位置です。 このメソッドでは,アイテムは追加されていくだけで,途中でアイテムを変更しても前のアイテムは削除されません。そこで,removeItems メソッドを使ってアイテムを削除しますが,このメソッドは削除するアイテムの開始位置と個数を引数に取ります。そこで,すべてのアイテムを削除したいときには getItemCount メソッドでアイテム数を数えます。 アイテム一つを追加するメソッドは addItem メソッドです。付け加えるアイテムの文字列と,位置を引数に取ります。 その他のメソッドについては,OOoBasic/Generic/obj/ComboBox? を参考にしてください。
|