ページトップへの移動のショートカットキーについて

MS & libreのトップページへ

LibreOffice Calc マクロBasicプログラミング
(4)プログラムの作成(Module1 O.Kプロシージャ・END_1プロシージャの編集)


    (2)OKプロシージャの作成と書き込み
          
          1.module1のエディターにOKプロシージャ作成

Sub OK End Sub

Dialig1のエディターに戻りO.Kボタン(CommandButton1)をクリック→右クリック→ プロパティ選択またはダブルクリック→プロパティの上のイベントをクリック
                実行時の右端のボタンをクリック
        右上のマクロ(A)をクリック
        左側のライブラリ(A)の売上実績.odc→Standard→Module1をクリックし         右側のマクロ名(B)のOKをクリック→OKボタンをクリック
割り当てられたアクションにStandard.Module1.OKと書かれています。 これでOKプロシージャに書き込みをします。 ⇒OK
2.金額を入力する列の設定 東京(”B4”) 大阪(”C4”) 名古屋(”D4”) 札幌(”E4”) 福岡(”F4”) ここではBからFまでを数値に置き換え * if(もし) 〜 then(ならば)のコード(命令)を使います。

If L_combobox1.text="東京" then  Lx=1
If L_combobox1.text="大阪" then  Lx=2
If L_combobox1.text="名古屋" then  Lx=3
If L_combobox1.text="札幌" then  Lx=4
If L_combobox1.text="福岡" then  Lx=5

3.店名別金額の書き込み

U_cell3=L_sheet1.GetCellByPosition(Lx,3)
U_cell3.value=L_text1.text

4.OKプロシージャ終わり

End Sub

(3)END処理:END_1プロシージャ作成 Dialog1エディターを開き(2)と同様にプロパティの処理をし、module1に戻り Sub END_1 End Sub と記入する。 Mainの終了はExecute()でしたが、プログラムの終了はEndExecute()になります。

Sub END_1

L_dialog1.EndExecute()

End Sub

(4)売上実績プログラムの実行 では、マクロプログラムを実行しましょう      1.ツール(T) ⇒ マクロ(M) ⇒ マクロを実行(U)をクリック
     2.マクロセレクター(左側)ライブラリー(A)       売上実績.ods ⇒ Standard ⇒ Module1 ⇒       マクロ名(B)(右側)Mainをクリックして ⇒ 実行
(5)売上実績プログラム(まとめ)

REM  *****  BASIC  *****

Dim L_dialog1 As Object
Dim L_combobox1 As Object
Dim L_text1 As Object
Dim L_sheet1 As Object
Dim Lx As Integer
Dim i As integer
Dim L_Tableborder As New com.sun.star.table.TableBorder
Dim Lineborder As New com.sun.star.table.BorderLine

Sub Main
'ダイアログの作成・設定
DialogLibraries.LoadLibrary("Standard")
L_dialog1=CreateUnoDialog(DialogLibraries.Standard.Dialog1)

'ConboBoxの作成・設定
L_combobox1=L_dialog1.GetControl("ComboBox1")
With L_combobox1
	.additem("東京",0)
	.additem("大阪",1)
	.additem("名古屋",2)
	.additem("札幌",3)
	.additem("福岡",4)
End With

'TextBox1の設定
L_text1=L_dialog1.GetControl("TextField1")

'Sheet1の設定
L_sheet1=ThisComponent.Sheets(0)

'セル範囲のクリア(A1:K11)
RangeCell=L_sheet1.GetCellRangeByPosition(0,0,10,10)
RangeCell.ClearContents(5)

'セルの範囲に罫線の太さを設定(”B3:F4”)
RangeCell=L_sheet1.GetCellRangeByPosition(1,2,5,3)
Lineborder.OuterLineWidth=10

'セル範囲の上の罫線の設定
L_Tableborder.IsTopLineValid=True
L_Tableborder.TopLine=Lineborder
'セル範囲の下のの罫線の設定
L_Tableborder.IsBottomLineValid=True
L_Tableborder.BottomLine=Lineborder

'セル範囲の左の罫線の設定
L_Tableborder.IsLeftLineValid=True
L_Tableborder.LeftLine=Lineborder

'セル範囲の右の罫線の設定
L_Tableborder.IsrightLineValid=True
L_Tableborder.rightLine=Lineborder

'セル範囲の内側縦の罫線の設定
L_Tableborder.IsVerticalLineValid=True
L_Tableborder.VerticalLine=Lineborder

'セル範囲の内側横の罫線の設定
L_Tableborder.IsHorizontalLineValid=True
L_Tableborder.HorizontalLine=Lineborder

'セル範囲に罫線を引く
RangeCell.TableBorder=L_Tableborder

'見出しの入力
U_cell1=L_sheet1.GetCellByPosition(2,0)
U_cell1.string="売上実績表"

'店名の書き出し
for i=0 to L_combobox1.ItemCount-1
U_cell2=L_sheet1.GetCellByPosition(i+1,2)
U_cell2.string=L_combobox1.GetItem(i)
next
 
L_dialog1.Execute()

End Sub

Sub OK

'金額を入力する列の設定
If L_combobox1.text="東京" then  Lx=1
If L_combobox1.text="大阪" then  Lx=2
If L_combobox1.text="名古屋" then  Lx=3
If L_combobox1.text="札幌" then  Lx=4
If L_combobox1.text="福岡" then  Lx=5

'店名別金額の書き込み
U_cell3=L_sheet1.GetCellByPosition(Lx,3)
U_cell3.value=L_text1.text

End Sub

'END処理
Sub END_1

L_dialog1.EndExecute()

End Sub

Microsoft & LibreOffice Index
(1)Module1・Dialog1の編集エディターの表示
(2)プログラムの作成(Dialog1の編集)
(3)プログラムの作成(Module1 Mainプロシージャの編集)