フォーム上にあるリストボックスの項目を選択し、データベースに保存する、というマクロを作成中です。
「リストボックスの項目を選択」までは意図した動きをするのですが、データベースに保存することができずに困っています。
ご教授いただけますよう、よろしくお願い致します。
------------------------------------------
【環境】
OS:Win7/OOo:3.4.0
------------------------------------------
【データベース】
「fld」というフィールドがあります。
レコードは1つあり、「fld」には「1」が入っています。
------------------------------------------
【フォーム】
「fld」という名前のリストボックス(リストの項目は、0、1、2)
マクロボタン(Sub test2012_10_18()が割り当てられた)
保存ボタン(アクションに「レコードの保存」)
があります。
------------------------------------------
【マクロ】
コード: 全て選択
Sub test2012_10_18()
Dim oDoc As Object
Dim oDrawPage As Object
Dim oForm As Object
Dim oListbox As Object
oDoc = ThisComponent
oDrawPage = oDoc.getDrawPage()
oForm = oDrawPage.getForms().getByName("MainForm")
oListbox = oForm.getByName("fld")
oListBoxCtrl = ThisComponent.getCurrentController().getControl(oListBox)
oListBoxCtrl.selectItemPos(2, True)
'oForm.getByName("fld").SelectedItems = Array(2)'この1行を上記3行に変えて動かすと、保存ボタンがFalse
End Sub
【マクロを使うと保存できません】
このフォームを開くと、リストボックスは「1」が表示されます。
↓
マクロボタンを押すと、リストボックスは「2」が表示されます。
↓
保存ボタンを押します(コメントアウト部分と差し替えると、保存ボタンは押せません)
↓
フォームを閉じて、もう一度開きます。
↓
リストボックスは「1」が表示されます。
------------------------------------------
【手動だと意図した動作をします】
このフォームを開くと、リストボックスは「1」が表示されます。
↓
手動で、リストボックスを「2」に変更します。
↓
保存ボタンを押します。
↓
フォームを閉じて、もう一度開きます。
↓
リストボックスは「2」が表示されます。