LibreOffice(Calc)でのマクロ : 11. 見積書作成 (4) – 見積もり明細の入力ダイアログ表示

見積書の明細を入力するダイアログができあがったら、それを表示させるマクロを用意します。そのマクロは以下の通り記述します。
見積書の明細を入力するダイアログができあがったら、それを表示させるマクロを用意します。そのマクロは以下の通り記述します。
ダイアログが出来上がったら、そこに入力した情報が、見積書に反映されるようにします。
と ころで、見積書のフォームというのは様々で、例えば、日付の欄が4行目にあったり、5行目にあったりまちまちですし、自社の住所欄が1行で済む会 社もあれば、2行必要なところもあります。ダイアログからの入力内容を、予めその請求書フォームに合わせて決めてしまえばいいですが、それだとフォームが 変更になったときに、いちいちマクロの中身を変えていかなければならず厄介です。
そこで、ここではいろいろなフォームに対応できるよう、見積書の定義をするシートを別途作ってみたいと思います。
Calcのシートを追加して、そのシートに「見積書定義」という名前をつけてみましょう。
ダイアログが表示された時に、予めテキストボックスに初期値として何か文字列等を入力させておきたい場合は、以下のようになります。
Dim Dlg1 As Object ‘ オブジェクト型変数「Dlg1」を宣言する。
Sub Test ‘ ダイアログを表示させるマクロ。
Dim Fld1 As Object ‘ オブジェクト型変数「Fld1」を宣言する。
DialogLibraries.LoadLibrary(“Standard”)
Dlg1=CreateUnoDialog(DialogLibraries.Standard.Dialog1)
Fld1=Dlg1.getControl(“TextField1″)
ダイアログのテキストボックスに入力しても、それだけでは何も起こりません。
例えば、ダイアログの「入力」ボタンを押したら、テキストボックスに入力した文字が、Calcのセルに反映されるといた処理がしたいはずです。そのためには、ボタンを押した時に実行されるマクロを予め組んでおく必要があります。
その場合、具体的には次のようになります。
Dim Dlg1 As