Infopath のテキストフィールドに改行を挿入する

Infopath とフォームライブラリの組み合わせは、SharePointでほぼ唯一、ある程度自由に帳票をデザインし、かつ細かなユーザニーズを反映できる手段です。しかし、それなりに使い込む、機能面でちらほらと不満を感じるようになります。

有り体に言うと「不自由なノーツ」なのです。
機能面でノーツを簡略化したような側面があります。
設計に必要な知識は少なくて済みますが、自由度で劣ります。

まあ、これは良し悪しですので一概に欠点とは言えませんが。

さて、その不満点のひとつに「改行テキストフィールドの既定値(あるいは動作規則による設定値)に改行が使えない、ことが挙げられます。
一般的な改行記号である br や \n あたりを入れてみても、効果がありません。

このエントリでは Infopathのテキストエリアに改行を挿入する方法をご紹介します。

まず、テキストボックスのプロパティで[段落の区切り]オプションを有効にします。
これを忘れると、そもそも改行が出来ません。

次に、以下の XML ファイルを用意します。
改行コードをキャノニカルXML(Canonical XML)に変換したものです。

このファイルをデーター接続(データーの受信/XMLドキュメント)としてフォームに追加します。
この際、[フォームテンプレートまたはテンプレートパーツのリソースファイルとしてデータを含める]オプションをを選択して下さい。
[code lang=”html”]
<?xml version="1.0" encoding="UTF&#45;8"?>
<characters cr="&#xD;" lf="&#xA;" crlf="&#xD;&#xA;" />
[/code]

このフィールド(セカンダリデータソース)を数式に組込みます。
実際には、@cr、@lf、@crlf、いずれを利用しても構いません。

concat( “この文章の後に改行が二回はいります” , @ctrf, @ctrf)


Author

中村 和彦(シンプレッソ・コンサルティング株式会社 代表)が「ユーザ視点の SharePoint 情報」を発信します。元大手製造業 SharePoint 運用担当。現SharePoint コンサルタント。お仕事のお問い合わせはこちらまでお願いします。当ブログにおける発信内容は個人に帰属し所属組織の公式発信/見解ではありません。
FB : 中村 和彦
blog: Be・Better!
MS MVP SharePoint 2009/10-2011/9
MS MVP Office 365 2012/10-2014/9