Attribute VB_Name = "Module1" '■ マクロ500連発<第2段> ' ' クラスモジュールを利用する (1) 元号を取得する ' (従来の手法で作成した例) ' ' Copyright(C) 2000 Sunago ' Option Explicit '■■■ 元号を取得する機能を従来の手法で実装する ■■■ Sub Macro1() Dim vDate As Date vDate = #4/1/60# MsgBox vDate & "の元号は、" & Gengo(vDate) & " です。" End Sub Private Function Gengo(d1 As Variant) As String If IsDate(d1) Then Gengo = Format$(d1, "ggg") Else Gengo = "" End If End Function Attribute VB_Name = "Module2" '■ マクロ500連発<第2段> ' ' クラスモジュールを利用する (1) 元号を取得する ' (クラスモジュールを利用した例) ' ' Copyright(C) 2000 Sunago ' Option Explicit Public Wareki As New clsWareki '従来手法にはない Sub Macro2() Dim vDate As Date vDate = #4/1/60# '従来手法では関数のみで呼び出す MsgBox vDate & "の元号は、" & Wareki.Gengo(vDate) & " です。" End Sub Attribute VB_Name = "clsWareki" '■ マクロ500連発<第2段> ' ' クラスモジュールを利用する (1) 元号を取得する ' (クラスモジュール本体) ' ' Copyright(C) 2000 Sunago ' Option Explicit Public Function Gengo(d1 As Variant) As String If IsDate(d1) Then Gengo = Format$(d1, "ggg") Else Gengo = "" End If End Function