# EvalCalcInserts ( Text )

Replace "

Average rating: 3.9 (51 votes) Log in to vote

Koji Takeuchi - Show more from this author
TonicNote, Inc. https://tonicnote.com |

EvalCalcInserts ( mailbody )

Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

EvalCalcInserts ( Text )

2011.07.25, Koji Takeuchi

description:

Replace "

ex.

nameFirst = "Koji"

nameLast = "Takeuchi"

EvalCalcInserts ( "Hello,

= "Hello, Koji Takeuchi."

mailbody = "Hello,

EvalCalcInserts ( mailbody )

= "Hello, Koji Takeuchi."

## Comments

unin, japan Jul 28, 2011 |
||

non recursive version. Case ( PatternCount ( Text ; "<calc>" ) = PatternCount ( Text ; "</calc>" ) ; Evaluate ( Substitute ( Quote ( Text ) ; [ "<calc>" ; "\" & Evaluate (\"" ] ; [ "</calc>" ; "\") & \"" ] ) ) ; Text ) Not same result in some case. 1. if <calc></calc> is contained in evaluated result. 2. if there is error, return '?' 3. Using variable <calc>Let($a=0;"")</calc> first:<calc>Let($a=$a+1;$a)</calc> second:<calc>Let($a=$a+1;$a)</calc> |
||

Travis Preister Nov 8, 2016 |
||

Neat function! But I also like the idea of a non-recursive version. I think this will give the same results as the original: If ( PatternCount ( Text ; "<calc>" ) = PatternCount ( Text ; "</calc>" ) ; Evaluate ( Evaluate ( Substitute ( Quote ( Quote ( Text ) ) ; [ "<calc>" ; "\\\"\" & \" & \" & Substitute ( \"If ( EvaluationError ( Evaluate ( \\\"•\\\" ) ) = 0 ; Evaluate ( \\\"•\\\" ) ; \\\"•\\\" )\" ; \"•\" ; \"" ] ; [ "</calc>" ; "\" ) & \" & \" & \"\\\"" ] ) ) ) ; Text ) // End If |
||

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.