数字の後にテキストが続く状況では、これを実行できるはずです。
{ 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" }
金額に続くテキストが地域設定で設定された通貨記号である場合、問題が発生する可能性があります。
ところで、「フィールド言語」内から Word VBA マクロ/関数を呼び出す (実用的な) 方法はありません。一般に、データソースにマージに必要な形式のデータがあることを確認するのが最善ですが...
- データ ソースが SQL を理解する場合 (たとえば、OLEDB または ODBC を介して接続された Access、Excel、およびテキスト データ ソースは Jet SQL を理解する)、Word VBA の OpenDataSOURce メソッドの SQLStatement パラメータを使用してデータ変換を行うことができます。ただし、これを行うには絶対最大で 511 文字の SQL を取得することに注意してください。
- データ ソースが SQL を認識しない場合 (または Word が内部的に実装する大まかな方言しか認識しない場合)、状況によっては、Jet .mdb に接続された DATABASE フィールドを使用して、組み込みの Access VBA 関数をデータに適用できます。
- 「承認された」方法は、Word の MailMerge イベントを使用してデータを変更することです。通常は、ドキュメント変数を設定し、{ DOCVARIABLE } フィールドを使用してデータを挿入します。