【发布时间】:2021-06-30 05:15:44
【问题描述】:
我正在尝试替换 Outlook 电子邮件模板文件 (.oft) 中的多个值。
我确实在提交之间的某个时间点有这个工作,不完全确定是什么导致了我的问题。
据我了解,HTMLBody 需要保留格式。
问题是只有最后两个 .Replace 实例在起作用
void BtnGenerateClick(object sender, EventArgs e)
{
Outlook.Application emailApp = new Outlook.Application();
Outlook.MailItem createTemplate = emailApp.CreateItemFromTemplate("C:\\Users\\USERNAME\\Documents\\OFTFiles\\test-template.oft") as Outlook.MailItem;
createTemplate.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
createTemplate.Subject = "Test Email sent " + '\u0040' + " " + tbTime.Text + " on " + currentDate;
/* START Replace Text from Numeric Up Down Value Property */
var changed0 = createTemplate.HTMLBody.Replace("{0}",nud0.Value.ToString());
createTemplate.HTMLBody = changed0;
var changed1 = createTemplate.HTMLBody.Replace("{1}",nud1.Value.ToString());
createTemplate.HTMLBody = changed1;
var changed2 = createTemplate.HTMLBody.Replace("{2}",nud2.Value.ToString());
createTemplate.HTMLBody = changed2;
var changed3 = createTemplate.HTMLBody.Replace("{3}",nud3.Value.ToString());
createTemplate.HTMLBody = changed3;
var changed4 = createTemplate.HTMLBody.Replace("{4}",nud4.Value.ToString());
createTemplate.HTMLBody = changed4;
var changed5 = createTemplate.HTMLBody.Replace("{5}",nud5.Value.ToString());
createTemplate.HTMLBody = changed5;
var changed6 = createTemplate.HTMLBody.Replace("{6}",nud6.Value.ToString());
createTemplate.HTMLBody = changed6;
/* END Replace Text from Numeric Up Down Value Property */
/* START Replace Text from Textbox Text Property */
var changed7 = createTemplate.HTMLBody.Replace("{7}",tb7.Text);
createTemplate.HTMLBody = changed7;
var changed8 = createTemplate.HTMLBody.Replace("{8}",tb8.Text);
createTemplate.HTMLBody = changed8;
var changed9 = createTemplate.HTMLBody.Replace("{9}",tb9.Text);
createTemplate.HTMLBody = changed9;
var changed10 = createTemplate.HTMLBody.Replace("{10}",tb10.Text);
createTemplate.HTMLBody = changed10;
var changed11 = createTemplate.HTMLBody.Replace("{11}",tb11.Text);
createTemplate.HTMLBody = changed11;
/* END Replace Text from Textbox Text Property */
createTemplate.Display(createTemplate);
}
数字上下波动
nud0 到 nud5 是默认的 numericUpDowns,最大值为 9999。nud6 已修改为小数点后 1 位,最大值为 100。
文本框
tb7 到 tb11 都是默认的,限制为 15 个字符。使用的字符包括 A-Z 和 0-9。
【问题讨论】:
-
在问题中提供模板正文、下拉值和文本字段值。
-
编辑添加这些。目前非常基础(概念证明)。
-
您能否也将
createTemplate.HTMLBody作为sn-p 添加到问题中。 -
没有sn-p。 HTMLBody 是 Microsoft.Office.InterOp.Outlook 中 MailItem 接口的一个属性