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