Я получаю информацию из электронной таблицы Excel и помещаю ее в отправляемое сообщение электронной почты.Форматирование определенных переменных в массиве
У меня есть таблица, которая будет отображаться в конце сообщения. Я создаю таблицу с HTML, с переменными, заполненными массивом, для более эффективного создания этих переменных.
Предполагается, что один из столбцов таблицы будет отформатирован с процентами, а другой - валютой. Как я могу форматировать только эти переменные, сохраняя при этом массив?
Sub email()
Dim mailsubject As String 'Variable that carries the subject of the email
Dim mailbody As String 'Variable that carries the body of the email
Dim tabledata(2 To 7, 21 To 28) As String
Dim i As Integer 'i and j are auxiliary variables to create the array
Dim j As Integer
'::::::::::::::Among these are the variables I want to format:::::::::::::::
For i = 2 To 7
For j = 21 To 28
tabledata(i, j) = Cells(i, j).Value
'::::::::::::::tabledata(3 to 7, 27) needs to be formatted as percentage, and tabledata(3 to 7, 28) as percentage with two decimal digits.:::::::::::::::::::
Next
Next
Dim OutlookApp As Outlook.Application
Dim MItem As Outlook.mailitem
Set OutlookApp = New Outlook.Application
mailsubject = "PRODUCT IDEA"
mailbody = "<TABLE BORDER='1' WIDTH='10%' CELLPADDING='1' CELLSPACING='1'><TR><TH COLSPAN='8'><BR><H3></H3>" _
& "</TH></TR><TR><TH>" & tabledata(2, 21) & "</TH><TH>" & tabledata(2, 22) & "</TH><TH>" & tabledata(2, 23) & "</TH><TH>" & tabledata(2, 24) _
& "</TH><TH>" & tabledata(2, 25) & "</TH><TH>" & tabledata(2, 26) & "</TH><TH>" & tabledata(2, 27) & "</TH><TH>" & tabledata(2, 28) & "</TH></TR>" _
& "<TR><TD>" & tabledata(3, 21) & "</TD><TD>" & tabledata(3, 22) & "</TD><TD>" & tabledata(3, 23) & "</TD><TD>" & tabledata(3, 24) & "</TD>" _
& "<TD>" & tabledata(3, 25) & "</TD><TD>" & tabledata(3, 26) & "</TD><TD>" & tabledata(3, 27) & "</TD><TD>" & tabledata(3, 28) & "</TD></TR>" _
& "<TR><TD>" & tabledata(4, 21) & "</TD><TD>" & tabledata(4, 22) & "</TD><TD>" & tabledata(4, 23) & "</TD><TD>" & tabledata(4, 24) & "</TD>" _
& "<TD>" & tabledata(4, 25) & "</TD><TD>" & tabledata(4, 26) & "</TD><TD>" & tabledata(4, 27) & "</TD><TD>" & tabledata(4, 28) & "</TD></TR>" _
& "<TR><TD>" & tabledata(5, 21) & "</TD><TD>" & tabledata(5, 22) & "</TD><TD>" & tabledata(5, 23) & "</TD><TD>" & tabledata(5, 24) & "</TD>" _
& "<TD>" & tabledata(5, 25) & "</TD><TD>" & tabledata(5, 26) & "</TD><TD>" & tabledata(5, 27) & "</TD><TD>" & tabledata(5, 28) & "</TD></TR>" _
& "<TR><TD>" & tabledata(6, 21) & "</TD><TD>" & tabledata(6, 22) & "</TD><TD>" & tabledata(6, 23) & "</TD><TD>" & tabledata(6, 24) & "</TD>" _
& "<TD>" & tabledata(6, 25) & "</TD><TD>" & tabledata(6, 26) & "</TD><TD>" & tabledata(6, 27) & "</TD><TD>" & tabledata(6, 28) & "</TD></TR>" _
& "<TR><TD>" & tabledata(7, 21) & "</TD><TD>" & tabledata(7, 22) & "</TD><TD>" & tabledata(7, 23) & "</TD><TD>" & tabledata(7, 24) & "</TD>" _
& "<TD>" & tabledata(7, 25) & "</TD><TD>" & tabledata(7, 26) & "</TD><TD>" & tabledata(7, 27) & "</TD><TD>" & tabledata(7, 28) & "</TD></TR>" _
& "</TABLE>"
Set MItem = OutlookApp.CreateItem(olmailitem)
With MItem
.Subject = mailsubject
.To = "[email protected]"
.HTMLBody = mailbody
.Save
.Display
End With
End Sub
В этом случае 'MyStr' бы новая строка? –
Я урезал избыток кода и добавил пару комментариев, которые должны немного разъяснить вещи –
Надеюсь, это имеет смысл, если вы не знаете, где этот код принадлежит вашему образцу кода, дайте мне знать. – BlueMonkMN