Attribute VB_Name = "modFlatElephant" Option Explicit Private Const SheetName = "FlatElephant" ' FlatElephant is the name of the toprunner of Nakanuki in Japan. Private Const ChildrensWallet = "A1" Private Const Tekagami = "B1" Private Const LogLine = "C1" Private Const LogLineStart = 2 Private Const LogLineMax = 16 Private Function FindCollection(ByVal col As Object, ByVal key As String) As Boolean Dim one As Variant FindCollection = False For Each one In col If one.Name = key Then FindCollection = True Next End Function Public Sub ShowSheet() If FindCollection(Sheets, SheetName) Then Sheets(SheetName).Visible = xlSheetVisible End If End Sub Public Sub PlusupTekagami() If FindCollection(Sheets, SheetName) Then Sheets(SheetName).Range(Tekagami).Value = Sheets(SheetName).Range(Tekagami).Value + 1 Else Dim sheet As Worksheet Set sheet = Sheets.Add sheet.Name = SheetName sheet.Visible = xlSheetVeryHidden Sheets(SheetName).Range(Tekagami).Value = 1 End If If Sheets(SheetName).Visible <> xlSheetVeryHidden Then _ Sheets(SheetName).Visible = xlSheetVeryHidden End Sub Public Function GetTekagami() As Integer If FindCollection(Sheets, SheetName) Then GetTekagami = Sheets(SheetName).Range(Tekagami).Value Else GetTekagami = 0 End If End Function Private Sub PlusupChildrensWallet(amount As Double) If FindCollection(Sheets, SheetName) Then Sheets(SheetName).Range(ChildrensWallet).Value = Sheets(SheetName).Range(ChildrensWallet).Value + amount Else Dim sheet As Worksheet Set sheet = Sheets.Add sheet.Name = SheetName sheet.Visible = xlSheetVeryHidden Sheets(SheetName).Range(ChildrensWallet).Value = amount End If Dim ll As Integer ll = Sheets(SheetName).Range(LogLine).Value Sheets(SheetName).Cells(LogLineStart + ll, 1) = amount Sheets(SheetName).Cells(LogLineStart + ll, 2) = Now() ll = ll + 1 If ll >= LogLineMax Then ll = 0 Sheets(SheetName).Range(LogLine).Value = ll End Sub Public Function GetChildrensWallet() As Double PlusupTekagami If FindCollection(Sheets, SheetName) Then GetChildrensWallet = Sheets(SheetName).Range(ChildrensWallet).Value Else GetChildrensWallet = 0 End If End Function Public Sub Senmonkakaigi(ByRef Ketsuzei As Double, ByVal Gijiroku As Boolean) Gijiroku = False ' 呼び出し元が議事録を要求しても常に議事録はOFF(False) Dim Nakanuki As Double Nakanuki = 0 If 100 <= Ketsuzei And Ketsuzei < 1000 Then Dim intKetsuzei As Integer intKetsuzei = CInt(Ketsuzei) Select Case intKetsuzei Case 769 Nakanuki = 20 Case 749 Nakanuki = 104 Case 645 Nakanuki = 50 Case Else If Second(Now()) Mod 10 = 0 Then Nakanuki = CDbl(CInt(Ketsuzei * 0.02)) End If End Select End If If Nakanuki > 0 Then Ketsuzei = Ketsuzei - Nakanuki PlusupChildrensWallet (Nakanuki) If Gijiroku Then MsgBox CStr(CInt(Nakanuki)) + "億円中抜きしました", vbInformation, "Senmonkakaigi" End If End Sub