全容を理解していないので、ごく基礎的なことだけ書き留める。
まず、下図の画面を用意する。赤字で記してあるのは、コントロール名 :
サンプルコードは下記の通り。いつものように、モジュール単位で掲載
する。
Private mobjDialog1 As Object
Sub Main
DialogLibraries.LoadLibrary("Standard")
mobjDialog1 = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
mobjDialog1.execute()
End Sub
Sub CommandButton1Click()
Dim objListBox1 As Object
Dim lngIndex As Long
objListBox1 = mobjDialog1.getControl("ListBox1")
For lngIndex = 0 To 10
objListBox1.addItem("Item" & Format(lngIndex, "00"), lngIndex)
Next lngIndex
End Sub
Sub CommandButton2Click()
Dim objListBox1 As Object
objListBox1 = mobjDialog1.getControl("ListBox1")
Msgbox(objListBox1.SelectedItem)
End Sub
フォームの「CommandButton1」、及び、「CommandButton2」コントロールの
クリックイベントには、それぞれ、
CommandButton1Click プロシージャ
CommandButton2Click プロシージャ
を対応させる。
リストボックスに値を追加する為のコードは下記の通り :
ListBox 変数 = Form 変数.getControl(ListBox 名)
ListBox 変数.addItem(Value, Index)
addItem メソッドの Index 引数には、値を追加したい行のインデックス番号
を指定すれば良い。因みに、行のインデックス番号はゼロから始まる整数。
リストボックスの選択した値を取得するには
変数 = ListBox 変数.SelectedItem
とすれば良いようである。
尚、上記コード実行結果は下記の通りである。
「CommandButton1」ボタンをクリックした結果は下図の通り :
上記のように、値「Item07」を選択し、「CommandButton2」をクリックすると、
下図のメッセージボックスが表示される :
おはようございます。
返信削除OpenOfficeのマクロを作るので、参考にさせていただきます。