テスト24



'--------------------------------------
'標準モジュール
'別ブックのプロシージャの実行とRaiseEventのテスト
Sub メール作成()

Dim BookName As String
BookName = "C:\Users\User\Desktop\VBA練習3.xlsm"
Dim mail As cls_Mail


Set mail = New cls_Mail
ThisWorkbook.Sample
mail.myMail

'パスは、「'」で囲む / マクロ名の前に「!」をつける
Application.Run "'" & BookName & "'" & "!Mail_Create"

End Sub

Public Sub cls_Mail_aaa()

    MsgBox "test"

End Sub

Sub awt()
'プロシージャのアドレス(番号)を取得できる
'WinAPIを使う時に必要になるらしい
Debug.Print VBA.CLng(AddressOf Module6.ボタン1_Click)

End Sub

'--------------------------------------
'ThisWorkbookモジュール

Private WithEvents MC As cls_Mail

Public Sub MC_aaa()

   MsgBox "テスト"

End Sub

Public Sub Sample()

    Set MC = New cls_Mail
    MC.myMail

End Sub

'--------------------------------------
'cls_Mailモジュール

Public Event aaa()

Public Sub Class_Initialize()

'初期化に必要な処理を入れる

End Sub

Public Sub myMail()

RaiseEvent aaa

End Sub


Public Sub MC_aaa()

MsgBox "テスト"

End Sub

'----------------------------------------------
'別ブックのプロシージャ
Sub Mail_Create()

'Outlookオブジェクト生成
Dim OL As Outlook.Application
Dim MI As Outlook.MailItem
Set OL = CreateObject("Outlook.Application")
Set MI = OL.CreateItem(olMailItem)

'メール各設定
MI.SentOnBehalfOfName = "差出人"    '差出人
MI.To = "To宛先"    'TO
MI.CC = "CC"    'CC
MI.BCC = "BCC"    'BCC
'MI.Attachments.Add "D:\sample.txt"    '添付
MI.Subject = "件名"    '件名

'本文
MI.Body = "本文テスト"

'メール表示
MI.Display

''オブジェクト解放
'Set OL = Nothing
'Set MI = Nothing

End Sub