2011年7月10日日曜日

リストボックスを操作する (1)

今回はリストボックスについて。但し、リストボックスは奥が深そうで、未だ
全容を理解していないので、ごく基礎的なことだけ書き留める。
  
まず、下図の画面を用意する。赤字で記してあるのは、コントロール名 :
  
サンプルコードは下記の通り。いつものように、モジュール単位で掲載
する。
  
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(ValueIndex)
  
addItem メソッドの Index 引数には、値を追加したい行のインデックス番号
を指定すれば良い。因みに、行のインデックス番号はゼロから始まる整数。
  
リストボックスの選択した値を取得するには
  
   変数ListBox 変数.SelectedItem
  
とすれば良いようである。
  
尚、上記コード実行結果は下記の通りである。
  
「CommandButton1」ボタンをクリックした結果は下図の通り :
  
  
上記のように、値「Item07」を選択し、「CommandButton2」をクリックすると、
下図のメッセージボックスが表示される :


1 件のコメント:

  1. おはようございます。
    OpenOfficeのマクロを作るので、参考にさせていただきます。

    返信削除