我有一些来自数据源的邮件合并数据,有时用于显示,有时用于计算。如何在计算之前让Word转换值?
例如,字段“Cash”来自数据源100.00CR(在这种情况下意味着负值)。我需要在一个地方(使用CR)显示值,在邮件合并的另一部分我需要使用此值执行计算。问题是Word认为该值是一个字符串,因为CR附加在值的末尾。
我以为我可以编写宏来在计算之前转换值,例如
{ =(ConvertToCalculationValue(110.00) *3)}
但这似乎不起作用......如果不调整数据源中的数据我怎么能这样做?
答案 0 :(得分:2)
如果您有一个数字后跟文本,您应该可以这样做:
{ SET X { MERGEFIELD theamount } }{ =X*3 }
您在其中写下合并字段的名称而不是“theamount”
(像往常一样,所有{}都必须是可以在Windows Word中使用ctrl-F9插入的特殊字段代码括号。
如果您需要测试“theamount”是否以“CR”结尾,您可以使用
{ IF "{ MERGEFIELD theamount }" = "*CR" "it ends with CR" "it doesn't end with CR" }
如果金额后面的文字恰好是您的区域设置中设置的货币符号,则可能会遇到问题。
BTW,没有(实用的)方法从“Field语言”中调用Word VBA宏/函数。一般来说,最好尽量确保您的数据源具有合并所需格式的数据,但是......