'クラスモジュールのコード
'クラスの名前は Msg_sample です
Public Asa As String '朝というプロパティを定義
Public Sub Aisatu() '挨拶を表示するというメソッドを定義します
MsgBox Asa & "おはようございます。" '朝の挨拶を表示
End Sub
Option Explicit
'クラスモジュールのコード
'クラスの名前は Msg_sample です
Public Asa As String '朝というプロパティを定義
Public Hiru As String '昼というプロパティを定義
Public Ban As String '晩というプロパティを定義
Public Sinya As String '深夜というプロパティを定義
Public Sub Aisatu() '挨拶というメソッドを定義します
If Asa <> "" Then MsgBox Asa & "おはようございます。" '朝の挨拶を表示する
If Hiru <> "" Then MsgBox Hiru & "こんにちは。" '昼の挨拶を表示する
If Ban <> "" Then MsgBox Ban & "こんばんは。" '夜の挨拶を表示する
If Sinya <> "" Then MsgBox Sinya & "おやすみなさい。" '夜の挨拶を表示する
End Sub
Option Explicit
'標準モジュールのコードサンプル
Sub MsgTest()
Dim Say As Msg_sample 'インスタンス化したクラスを入れる変数
Set Say = New Msg_sample 'クラスをNew(インスタンス化)する
Dim num As Long
re:
num = Application.InputBox( _
"呼び出す時間帯の番号を入力してください" & vbCrLf & _
"[キャンセル]又は「0」で中止!" & vbCrLf & _
"1=[朝]、2=[昼]、3=[晩]、4=[深夜]", "番号選択", Type:=1)
Select Case num
Case 0: Exit Sub
Case 1
Say.Asa = "朝の挨拶:" 'クラスのAsaプロパティに値を代入する
Case 2
Say.Hiru = "昼の挨拶:" 'クラスのHiruプロパティに値を代入する
Case 3
Say.Ban = "晩の挨拶:" 'クラスのBanプロパティに値を代入する
Case 4
Say.Sinya = "深夜の挨拶:" 'クラスのSinyaプロパティに値を代入する
Case Else
MsgBox "入力値が不正です!再指定してください。"
GoTo re
End Select
Say.Aisatu 'オブジェクトのメソッドを呼び出す
End Sub