MailMergePlus ( text ; highlight)
Rate this function: Average rating: 3.5 (8 votes) Discuss this Custom Function
Peter Vinogradov, peter vinogradov consulting
http://www.petervinogradov.com
Mailmerge function that preserves formatting of source text
Sample Input:
| MailMergePlus ( "Dear <<FirstName>>, Welcome to <<SchoolName>>..."; 1) |
|
Sample Output:
| Dear John (in blue), Welcome to Cambridge University (in blue)... |
|
Description:
A recursive function that replaces bracket-enclosed (<<>>) formulae or field references with evaluated results. Works similarly to Mike Duncan's "MailMerge" function (http://www.briandunning.com/cf/438).
Because it does not evaluate the entire output string, This method preserves formatting of the source text (including the format of the merge field/formula based on the format of the first bracket).
The "highlight" switch is used to return a blue coloration for the results of any merge fields/formulae. If this parameter is set to null ( "" ), then no special formatting is applied. This feature is useful for giving users a way to easily check the output of their merge letter.
Edit: Oops, just discovered that my merge formula is very similar (coincidentally, I swear) to the one in this function: http://www.briandunning.com/cf/826
That one uses getfield() instead of evaluate, which is a good way of restricting the functionality so that users can't execute arbitrary calcs.
Edit 3-12-09: Thanks to Nick Lightbody for pointing out that the original formula chopped off the first two characters of the text if no merge fields <<>> are present. I have revised accordingly.
Note: these functions are not guaranteed
or supported by BrianDunning.com. Please contact the individual
developer with any questions or problems.
This is my Custom Function and I want to
edit it
Discuss:Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:
|
Newest Custom Functions:
| 1. |
RoundValues ( listOfValues; precision) |
| |
(Tue, Sep 07, 8:23pm) |
| 2. |
ApproxDateRange ( date1 ; date2 ) |
| |
(Tue, Sep 07, 11:44am) |
| 3. |
TimeCodeCalculations ( TCSMPTE01 ; TCSMPTE02 ; FrameRateOr ; FrameRateNew ; CalcType ) |
| |
(Sat, Sep 04, 9:31pm) |
| 4. |
Fedex_Country ( Country ) |
| |
(Fri, Sep 03, 11:07am) |
| 5. |
GetResultParameter( ParameterName ) |
| |
(Wed, Aug 25, 8:32am) |
| 6. |
GetListParameter ( ParameterList ; ParameterName ) |
| |
(Wed, Aug 25, 8:25am) |
| 7. |
Standard_Deviation( Field ; MaxLoopCount ; StartIndex ; StdDeviation ; ArithMeanValue ) |
| |
(Tue, Aug 24, 10:57am) |
| 8. |
Arithmetic_Mean ( Field ; MaxLoopCount ; StartIndex ; MeanValue ) |
| |
(Tue, Aug 24, 10:51am) |
 |
|
Very useful being able to switch the hilite on and off.
However - it doesn't quite work right if the first characters in the string are not "<<" when it removes the first two characters.
Nick Lightbody, Haywards Heath
March 12, 2009 7:30am