通过 Excel VBA 通过 Outlook 发送电子邮件 - 将字符串转换为货币格式或百分比
Posted
技术标签:
【中文标题】通过 Excel VBA 通过 Outlook 发送电子邮件 - 将字符串转换为货币格式或百分比【英文标题】:Send E-mail through outlook via Excel VBA - convert string to currency format or percent 【发布时间】:2015-05-08 12:37:56 【问题描述】:网站新手,对编程/VBA 非常陌生。
我在一家销售公司工作,我想向我们的每个代表发送一封基本电子邮件,让他们知道他们的每月销售目标和目标百分比
这是我的(非常基本的)代码 我需要将“May_Sales”和“May_Goal”格式化为货币,将“May_Percent”格式化为带 2 个小数位的百分比 (16.14%)
' SendMassEmail Macro
'
row_number = 1
Do
DoEvents
row_number = row_number + 1
Dim mail_body_message As String
Dim full_name As String
Dim May_Sales As String
Dim May_Goal As String
Dim May_Percent As String
mail_body_message = "Good morning replace_name_here!" & vbNewLine & "Your Total Sales for May 2015 are May_Sales_replace" & vbNewLine & "Your Total Goal for May 2015 is May_Goal_replace" & vbNewLine & "You are currently at May_Percent_replace of your May Goal" & vbNewLine & "Thanks," & vbNewLine & "John Angerami"
full_name = Sheet1.Range("B" & row_number)
May_Sales = Sheet1.Range("C" & row_number)
May_Goal = Sheet1.Range("D" & row_number)
May_Percent = Sheet1.Range("E" & row_number)
mail_body_message = Replace(mail_body_message, "replace_name_here", full_name)
mail_body_message = Replace(mail_body_message, "May_Sales_replace", May_Sales)
mail_body_message = Replace(mail_body_message, "May_Goal_replace", May_Goal)
mail_body_message = Replace(mail_body_message, "May_Percent_replace", May_Percent)
Call SendEmail(Sheet1.Range("A" & row_number), "Daily Sales " & Sheet1.Range("F1"), mail_body_message)
Loop Until row_number = 2
'End Sub
【问题讨论】:
干得好,第一个问题! 【参考方案1】:您将在 VBA 中使用 Format
函数。
例子:
Format(May_Sales,"Currency")
Format(May_Percent,"0.00%")
【讨论】:
谢谢!那不只是在工作表中格式化吗?我需要在电子邮件中格式化。 @JohnAngerami,如果有效,请将其标记为答案,以告知该网站的未来访问者。以上是关于通过 Excel VBA 通过 Outlook 发送电子邮件 - 将字符串转换为货币格式或百分比的主要内容,如果未能解决你的问题,请参考以下文章
通过 Excel VBA 通过 Outlook 发送电子邮件 - 将字符串转换为货币格式或百分比
Excel如何录制宏通过outlook发邮件,每天都有要发一样的邮件,可能就是数据有些不同?
Excel VBA:如何在 Outlook 中向组发送电子邮件?