【LibreOffice Calc】在庫管理フォームのマクロをBasicで組んでみた⑥セルの数値に加算・減算する

素人がLibreOffice Calcで在庫管理フォームのマクロをBasicで組んでみた過程をまとめます。

必要な情報はGoogle検索だけで集めました。

今回はセルの数値に加算・減算するコードを記述してボタンと紐づけします。

スポンサーリンク

セルの数値に加算・減算するコード

検索してヒットした在庫数(セルの数値)に+1加算または-1減算するコードを以下の様に記述しました。

加算のコードと減算のコードで違うのは「+」「-」の箇所のみです。

セルの数値に加算

Sub IncreButton_click

 Dim mobjDialog1 As Object
 Dim code As Object
 Dim num As Object
 Dim objRange As Object
 Dim objCursor As Object
 Dim i As Integer
 Dim s As Integer

 code = mobjDialog1.getControl(“TextCode”)
 num = mobjDialog1.getControl(“TextNum”)

 oDoc = ThisComponent
 oSheet = oDoc.getSheets().getByIndex(0)
 objRange = oSheet.getCellRangeByName(“A1”)
 objCursor = oSheet.createCursorByRange(objRange)
 objCursor.gotoEndOfUsedArea(True)
 i = objCursor.Rows.Count

 For s = 0 to i
   If oSheet.getCellByPosition(0,s).String = code.text Then
     code.Text = oSheet.getCellByPosition(0,s).String
     oSheet.getCellByPosition(1,s).value = oSheet.getCellByPosition(1,s).Value + 1
     num.Text = oSheet.getCellByPosition(1,s).Value
   End If
 Next s

End Sub

セルの数値から減算

Sub DecreButton_click

 Dim mobjDialog1 As Object
 Dim code As Object
 Dim num As Object
 Dim objRange As Object
 Dim objCursor As Object
 Dim i As Integer
 Dim s As Integer

 code = mobjDialog1.getControl(“TextCode”)
 num = mobjDialog1.getControl(“TextNum”)

 oDoc = ThisComponent
 oSheet = oDoc.getSheets().getByIndex(0)
 objRange = oSheet.getCellRangeByName(“A1”)
 objCursor = oSheet.createCursorByRange(objRange)
 objCursor.gotoEndOfUsedArea(True)
 i = objCursor.Rows.Count

 For s = 0 to i
   If oSheet.getCellByPosition(0,s).String = code.text Then
     code.Text = oSheet.getCellByPosition(0,s).String
     oSheet.getCellByPosition(1,s).value = oSheet.getCellByPosition(1,s).Value 1
     num.Text = oSheet.getCellByPosition(1,s).Value
   End If
 Next s

End Sub

在庫増ボタンにコードを紐づけ

在庫数を+1増やすマクロができたので、在庫増ボタンと紐づけをしていきます。

Dialog1 → 在庫増ボタン選択 → イベントタブ → マウスボタンを離したとき「…」の順に選択します。

マクロを押します。

登録するマクロ名(今回はIncreButton_click)を選択してOKを押します。

これでマクロとボタンの紐づけは完了です。

同様のやり方で在庫減ボタンも紐づけして完成です!

在庫管理フォームのマクロをBasicで組んでみたまとめこちら。



コメント

  1. 吉田 純造 より:

    すばらしいサイト ありがとうございます
    libreoffice の情報が少なくて困っていました
    あなたの説明を勉強してみます
    皆さん 喜んでいることと思います

    • dac330 より:

      過分なお言葉、ありがとうございます。
      libreofficeは確かに情報が少なく、私も手探りしながらの作業でした。
      この記事が少しでもお役に立てるのなら嬉しい限りです。

タイトルとURLをコピーしました