00001 ' Attribute VB_Name = "MailMessage"
00002 '!-------------------------------------------------
00003 '! @brief メールメッセージ
00004 '! @todo 添付ファイル,REPLY_TO,SENDER
00005 '!-------------------------------------------------
00006 Class MailMessage
00007
00008 '-------------------------------------------------
00009 '* @brief メールアドレスFromのリスト
00010 '* @remarks 現状は「先頭のアドレス」しか使ってない(basp21で複数のFromが使えるかどうかわからないから)
00011 '-------------------------------------------------
00012 Public AddressListFrom()
00013 '-------------------------------------------------
00014 '* @brief メールアドレスToのリスト
00015 '-------------------------------------------------
00016 Public AddressListTo()
00017 '-------------------------------------------------
00018 '* @briefメールアドレスCCのリスト
00019 '-------------------------------------------------
00020 Public AddressListCc()
00021 '-------------------------------------------------
00022 '* @briefメールアドレスBCCのリスト
00023 '-------------------------------------------------
00024 Public AddressListBcc()
00025
00026 '-------------------------------------------------
00027 '* @brief件名
00028 '-------------------------------------------------
00029 Public Subject
00030 '-------------------------------------------------
00031 '* @brief本文
00032 '-------------------------------------------------
00033 Public Body
00034
00035 '-------------------------------------------------
00036 '* @brief 添付ファイル
00037 '-------------------------------------------------
00038 Public AttachmentFile()
00039
00040 '-------------------------------------------------
00041 '* @briefメールアドレスFromを追加
00042 '-------------------------------------------------
00043 Public Sub AddFromAddress(addr)
00044 ArrayAdd AddressListFrom,addr
00045
00046 End Sub
00047
00048 '-------------------------------------------------
00049 '* @brief メールアドレスToを追加
00050 '-------------------------------------------------
00051 Public Sub AddToAddress(addr)
00052 ArrayAdd AddressListTo,addr
00053 End Sub
00054
00055 '-------------------------------------------------
00056 '* @brief メールアドレスCCを追加
00057 '-------------------------------------------------
00058 Public Sub AddCcAddress(addr)
00059 ArrayAdd AddressListCc,addr
00060 End Sub
00061
00062 '-------------------------------------------------
00063 '* @brief メールアドレスBCCを追加
00064 '-------------------------------------------------
00065 Public Sub AddBccAddress(addr)
00066 ArrayAdd AddressListBcc,addr
00067 End Sub
00068 '-------------------------------------------------
00069 '* @brief 添付ファイルを追加
00070 '-------------------------------------------------
00071 Public Sub AddAttachmentFile(file)
00072 ArrayAdd AttachmentFile,file
00073 End Sub
00074
00075 '-------------------------------------------------
00076 '* @brief BASP21で使用するTOフィールド組み立て
00077 '-------------------------------------------------
00078 Function buildToAddress()
00079 Dim address
00080 Dim i
00081 Dim ub
00082 Dim lb
00083 ub = UBound(AddressListTo)
00084 lb = LBound(AddressListTo)
00085
00086 For i = lb to ub
00087 WScript.Echo AddressListTo(i)
00088 if(address <> "") then address = address & vbTab
00089 address = address & AddressListTo(i)
00090 Next
00091
00092 if ArrayCount(AddressListCc) > 0 Then
00093 address = address & vbTab & "cc"
00094 ub = ubb(AddressListCc)
00095 lb = lbb(AddressListCc)
00096
00097 For i = lb to ub
00098 if(address <> "") then address = address & vbTab
00099 address = address + AddressListCc(i)
00100 Next
00101 End If
00102 if ArrayCount(AddressListBcc) > 0 Then
00103 address = address & vbTab & "bcc"
00104 ub = UBound(AddressListBcc)
00105 lb = LBound(AddressListBcc)
00106
00107 For i = lb to ub
00108 if(address <> "") then address = address & vbTab
00109 address = address + AddressListBcc(i)
00110 Next
00111 End If
00112
00113 buildToAddress = address
00114 End Function
00115 '-------------------------------------------------
00116 '* @brief BASP21で使用するTOフィールド組み立て
00117 '-------------------------------------------------
00118 Function buildAttachmentFiles()
00119 Dim files
00120 Dim i
00121 Dim ub
00122 Dim lb
00123 ub = UBound(AttachmentFile)
00124 lb = LBound(AttachmentFile)
00125
00126 For i = lb to ub
00127 if(files <> "") then files = files & vbTab
00128 files = files & AttachmentFile(i)
00129 Next
00130
00131 buildAttachmentFiles = files
00132 End Function
00133
00134 Function ubb(arr)
00135 on error resume next
00136 dim ub
00137 ub = -1
00138 ub = Ubound(arr)
00139
00140 ubb = ub
00141 Err.Clear
00142 End Function
00143 Function lbb(arr)
00144 on error resume next
00145 dim lb
00146 lb = -1
00147 lb = Lbound(arr)
00148
00149 lbb = lb
00150 Err.Clear
00151 End Function
00152 Function ArrayCount(arr)
00153 Dim ub
00154 Dim lb
00155 ub = ubb(arr)
00156 lb = lbb(arr)
00157
00158 If ub < 0 Then
00159 ArrayCount = 0
00160 Else
00161 ArrayCount = (ub - lb) + 1
00162 End If
00163
00164 End Function
00165
00166 Sub ArrayAdd(arr,newItem)
00167 Dim cnt
00168 cnt = ArrayCount(arr)
00169 ReDim Preserve arr(cnt)
00170 arr(cnt) = newItem
00171 End Sub
00172 '-------------------------------------------------
00173 '* @brief オブジェクト初期化
00174 '-------------------------------------------------
00175 Public Sub Class_Initialize()
00176 End Sub
00177 End Class