(2)OKプロシージャの作成と書き込み
1.module1のエディターにOKプロシージャ作成
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プロシージャ終わり
(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
|
|