AX リストボックスの扱い方(その2) −LibreOffice Base−

リストボックスの扱い方(その2) −LibreOffice Base−

 

リストボックスのどの項目を選択状態にするかをマクロから操作します。

まず、前回の記事を参考にリストボックスをフォームに配置し、値リストは「”明治”;”大正”;”昭和”;”平成”;”令和”;””」と設定してみてください。改行は、Shift+Enterで。

リストボックスの横にでもボタンを配置し、下記マクロを割り当ててください。

 

Sub ItemSelect
	Dim formRealName As String
	Dim listboxName As String
	formRealName = "●●フォームの本名●●"
	listboxName = "●●リストボックスの名前●●"
	oDraw = ThisComponent.getDrawPage()
	oForm = oDraw.getForms().getByName(formRealName)
	oControl = oForm.getByName(listboxName)
	oListBox = ThisComponent.getCurrentController().getControl(oControl)
	oListBox.selectItem("昭和",true)    ' ←リストの項目を選択状態にする基本形
	msgbox "「昭和」を選択状態にしました。"
	' ↓ 応用
	Dim itemlist() As String
	oForm = oDraw.getForms().getByName(formRealName)
	itemlist() = oForm.getbyname(listboxName).StringItemList    'リストの項目すべてを配列で受け取る
	For each itemstr in itemlist()
		oListBox.selectItem(itemstr,true)      'リストの項目を選択状態にする
		msgbox itemstr & " を選択状態にしました。"
	Next itemstr
End Sub

 

どうですか? 興奮しませんか? 私は興奮してます。
これができなくて、数カ月頭を抱えていたから。
これで多分、既存レコードの修正用フォームを作ることができる。
なんか、Baseで何でもできる気がしてきたよ!

( LibreOffice 6.2.4.2 / Linux Mint Debian Edition3(LMDE3)”Cindy” )

シェアする

  • このエントリーをはてなブックマークに追加

フォローする