Wordの差し込みフィールドの前後に文字を書式設定する

Wordの差し込みフィールドで書式設定をする際に、値の前後に文字を指定するのがうまくいかないというので調べてみました。

具体的な要望は、領収書に数値を記載する際に、\100,000.- のように前後に文字を表示したいという事でした。

色々試してみましたが、円マークや後ろの".-"を表示しつつ、桁区切りの文字を表示するのが厄介でした。というか、どうやってもできませんでした。

また、マイナス記号も、そのまま配置すると特殊記号として動作してしまいます。


日本語で検索しても良いページが見つからず、英語で検索したところ次のページがヒットしました。なるほど、全体をダブルクォーテーションで囲い、特殊記号はさらにシングルクォーテーションで囲えばよいようです。

How to Fix the Formatting of an Excel Mail Merge Field in a Word Document

というわけで、次のように書式を指定したところ、うまくいきました。

{ MERGEFIELD 金額 \# "\\,0'.-'"}

金額は差し込みフィールド名です。

\# は後の書式が数値書式であることを示しています。

\は特殊な意味があるので、それを打ち消すために¥を頭につけて\\としています。

,0 は3桁区切りで、数値が0の時も0を表示するという意味です。

'.-' は、常に .- を表示します。小数点は常に表示されるようなので、 .'-' としても同様だと思います。


ちなみに、 .- として小数点を表示するのは、外貨を扱う場合につけるようです。$100.00 のように小数点以下の通貨がある場合ですね。


コメント

アクセス数の多い投稿

セキュリティ対策ソフトのノートンが詐欺ソフトまがいになってしまってショック

ZIPファイルを開こうとすると、展開を完了できません、と言われる

Excel 2019 クエリが原因で日本語入力の一文字目が勝手に確定する

Excelのテーブルに行や列を挿入する際のエラー

オカムラ家具のOAチェアー、コンテッサを分解清掃

突然滅茶苦茶遅くなったPCがWindows Updateのキャッシュクリアで復活

ChatGPTが日本語からVBAのコードを生成できてたまげる

Windows セキュリティーのビックリマークが消えない

Power Automate Desktopでブラウザでダウンロードしたファイルを処理する

Excel VBAからODBCを使ってデータを簡単に取得する