通过 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 中向组发送电子邮件?

通过Outlook上的适当帐户发送VBA生成的个性化电子邮件

在 Excel 中使用 VBA 创建的电子邮件未发送

通过vba发送邮件但没有发送功能模块