Thank you for your post, and I apologize for the late reply.
I'm unable to download from the enclosed link, so I suspect the link has expired.
Also keep in mind that Get ( ActiveFieldName ) returns text and does not include the table name. You may want to consider:
GetFieldName ( Evaluate ( Get ( ActiveFIeldTableName ) & “::” & Get ( ActiveFieldName ) ) )
I know almost three months have passed since you posted, so let me know if this is still active. if you have either found a resolution or a different workaround, please post here so others can benefit.
The fact that Get ( ActiveFieldTableName ) does not return a table name is not an issue here since I use this expression to compare just the field names:
Let ( [ F = GetFieldName ( Templates::TemplateText ) ; L = Length ( F ) ] ; Get ( ActiveFieldName ) ≠ Right ( F ; L - Position ( F ; ":" ; 1 ; 2 ) ) )
Besides, if that were the issue, it would fail 100% of the time, not at seemingly random intervals.
Download links to 4Shared don't expire, but I did have problems uploading an update to this file back then and that appears to have been the source of the trouble.
Here's a valid download link: http://www.4shared.com/file/7DdcpW11/MessageTemplateBuilder.html
I tested your file and 100% never reformat the text button.
only if you change record, the format is evaluted again
To be sure that the expression is value correctly, I have added a text field and created a script, inserting into the new field the result of your expression. everything is fine.