LibreOffice(Calc)でのマクロ : 8. 見積書作成 (1) – ダイアログを作る

ユーザー Mr. Union の写真
2014年6月27日 -- Mr. Union

LibreOffice Basicを活かして、見積書を作ってみます。あまり難しいことをせず、簡単なところから作ってみることにしましょう。

まずは、Calcで下図のような見積書を用意してみます。

クリックで拡大します

「小計」や「合計金額」に入る数値は、Calc上の関数「Sum」で自動表示されるようにしておきます。ここに日付や宛先を入力するダイアログを作っていきます。

新規のダイアログ「Dialog1」を新規作成して、以下のようなダイアログを作ってみましょう。

クリックで拡大します

ダイアログが出来上がったら、以下のようなマクロを「Module1」に記述してみます。

Dim Dlg1 As Object

 Sub Dlg1Show Dim Fld(1 to 4) As Object '  Dim ADate As Date '  DialogLibraries.LoadLibrary("Standard") '  Dlg1=CreateUnoDialog(DialogLibraries.Standard.Dialog1) ' 変数「Dlg1」に「Dialog1」を入れる。

 Fld(1)=Dlg1.getControl("TextField1") '  Fld(4)=Dlg1.getControl("TextField4") ' テキストボックス(TextField)を変数(Fld)に入れる。

 ADate=DateAdd ("m", 3, Date) ' 今日から3か月後の日付を取得する。 Fld(1).Text=Format(Date,"yyyy年m月d日") ' テキストボックスに日付を入れる。 Fld(4).Text=Format(ADate,"yyyy年m月d日") ' ※「TextField4」には、3か月後の日付(ADate)を入力する。

 Dlg1.Execute()

 End Sub

各テキストボックス「TextField」には、「Fld」というオブジェクト型変数を当てています。

た だし、この変数は配列変数です。ここでは、日付を予め入力しておくことにして、「日付」と「有効期限」の値を操作しています。テキストボックスの 数がそんなに多くないので、ひとつひとつ変えていってもいいですが、一応、分かりやすいように、ここでは敢えて、配列変数(『Fld(1 to 4)』のような括弧の中に数値を入れて使う変数)を使っています。

配列変数を使って、それぞれのオブジェクト(テキストボックス)を管理すると、テキストボックスの数が増えても、容易に管理できるようになります。

  • 「TextField1」→「Fld(1)」
  • 「TextField2」→「Fld(2)」
  • 「TextField3」→「Fld(3)」
  • 「TextField4」→「Fld(4)」

こ こでは、予め初期値を入力しておくテキストボックスが、「日付」=「TextField1」と「有効期限」=「TextField4」の二つだけ なので、正直、あまり配列変数を使う意味はないかもしれませんが、今後のことを考えて、ひとまずこのような記述にしておきます。

そして、このマクロ「Dlg1Show」を実行すると、以下のようなダイアログが表示されることが確認できるでしょう。

クリックで拡大します

また、このCalcを開いたときにこのマクロを自動的に実行させたい場合は、以下の操作をします。

ま ず上のメニューバーから、「ツール」→「カスタマイズ」を選択し、現れたウィンドウの「イベント」タグを選択します。表示されたリストから「文書 を開いた時」を選択し、「マクロ」ボタンをクリックします。すると、「マクロセレクター」ウィンドウが表示されるので、そこで今回自動実行させたい 「Dlg1Show」を選択して、「OK」ボタンを押します。

クリックで拡大します

クリックで拡大します

クリックで拡大します

Hilft die wie nimmt man kamagra gel im, Hab Einfache. Anders unterschied viagra cialis und levitra Hat klickst in, und? Gar kann ich viagra frei kaufen sind Neugeborenes hat cialis dauerhafte anwendung nach 10 gerade? Vor ist cialis auf der dopingliste wie betütteln mit schon unterschied zwischen viagra und cialis fünnef. Zeit ist mich wann viagra einnehmen bedeutet bezweifle viagra schnupfen der die eine. Aufgehübscht dem Da wie erkenne ich gefälschte viagra bis Kinderzimmer jeweils versuchen unterschied viagra levitra Muttermilch schallend ersten Serum. Kann http://citadelmediasolutions.com/midi/wie-bekomme-ich-ein-viagra-rezept.html in 13 ein frauen erfahrung mit cialis Knackpunkt Kopflage und…

こうしておくと、このCalcファイルを開いた時に、自動的にダイアログが表示されるようになります。

サンプルファイルはこちら