Word のフォームのコンテンツ コントロールとレガシ フォーム フィールド:ファイルと一緒に渡る名前・選択肢・前の回答
最終更新日:2026 年 10 月 28 日
要点:Word のフォームは、ページの上の入力欄より多くのものを持っています。コンテンツ コントロールにはタイトルとタグを付けられます。ドロップダウン リストはすべての選択肢を持ち、それぞれに表示名と異なる値を持たせられます。データに連結したコントロールは、値を別の XML のパーツに置きます。レガシ フォーム フィールドは、名前・既定の文字列・ヘルプの文字列・ドロップダウンのすべての項目を持ちます。だれかが記入したフォームを写して作ったフォームには、上書きされなかったところにその人の回答が残ります。フォームを配る前に、写しで各コントロールのプロパティを開いて読んでください。
この記事は、Word のフォームを作る人、人に回す人のためのものです。申込書、受付票や注文票、チームで記入するチェックリスト、去年の記入済みの写しから作ったテンプレートのような場面です。扱うのは、フォームのコントロールが持つものです。カスタム XML のパーツ全般、文書変数、埋め込みオブジェクトはWord のカスタム XML・埋め込みの記事に、テンプレートの名前などのプロパティはWord のプロパティの記事にあります。
フォームのコントロールは 2 種類
Microsoft のWord でフォームを作るページは、[開発]タブから「チェック ボックス、テキスト ボックス、日付ピッカー、ドロップダウン リストなどの要素のコンテンツ コントロール」を追加できると書き、「必要に応じて、これらのコンテンツ コントロールをデータベース情報にリンクできます。」と続けます。もう 1 つの種類についても、「レガシ フォーム コントロールは、以前のバージョンの Word との互換性を保つために、レガシ フォーム コントロールと Active X コントロールで構成されています。」と書いています。古いフォームや、古いテンプレートから作ったフォームは、レガシ フォーム フィールドを使っていることがよくあります。どちらの種類も見落としやすい設定を持ち、その中には記入する人ではなくフォームを作った人に向けて書かれたものがあります。
コントロールが持つもの
| 設定 | どんなものか | .docx の中の場所 |
|---|---|---|
| コンテンツ コントロールのタイトル | 「境界ボックスの上または開始/終了タグにラベルとして表示されるタイトル」 | word/document.xml の中の、コントロールの w:sdtPr にある w:alias |
| コンテンツ コントロールのタグ | 「分類またはグループ化のタグ」 | タイトルの隣の w:tag |
| ドロップダウン リストとコンボ ボックスの選択肢 | 項目ごとの表示名と、表示名と異なってもよい「データ ストアで使用する値」 | 選択肢 1 つにつき 1 つの w:listItem と、その w:displayText と w:value |
| プレースホルダーの文字列 | だれかが入力する前にコントロールに出る文字列 | 用語集のパーツ(ふつうは word/glossary/document.xml)に定義があり、w:docPart がその名前を指します。コントロールが空の間は、コントロールの中にも入り、w:showingPlcHdr の印が付きます |
| データの連結(XML マッピング) | 「XML マッピングは、コンテンツ コントロール内のテキストと、ドキュメントのカスタム XML データ ストア内の XML 要素との間のリンクです。」 | customXml/ の下のカスタム XML のパーツを指す w:dataBinding |
| レガシ フィールドの名前 | 「コントロールごとに一意の名前またはブックマークを設定します」 | フィールドの w:ffData の w:name と、同じ名前のブックマーク |
| レガシ フィールドの既定の文字列・ヘルプ・ステータスの文字列 | 既定の文字列は「ユーザーがフィールドに入力する前にテキスト ボックスに表示されるオプションの指示テキスト」、ヘルプ テキストは「各フィールドのヒントまたは指示」 | w:ffData の w:default・w:helpText・w:statusText |
| レガシ フィールドのドロップダウンの項目 | 「リスト ボックス項目の文字列」 | 項目 1 つにつき 1 つの w:listEntry と、選ばれた項目を示す w:result |
タイトル・タグ・選択肢・データの連結の行の引用は、Microsoft のページ「入力可能なフォームを作成する」から、レガシ フィールドの行の引用は上の Word でフォームを作るページの、Mac の説明(フォームのコントロールの[オプション])からです。Microsoft のページはそこでこれらもコンテンツ コントロールと呼んでいますが、ブックマーク・既定のテキスト・ヘルプ テキストを持つ[オプション]は、ファイルでは表の右の列のとおりレガシ フィールドの w:ffData の設定です。Windows の説明は、レガシ フォーム コントロールを[開発]タブから挿入する手順だけを示しています。ファイル形式の規格 ISO/IEC 29500 は、Microsoft の Open XML SDK のページに引用された形で、もう少し詳しく書いています。タグは「表示されるフレンドリ名を指定せずにそれを識別するために、アプリケーションが構造化ドキュメント タグに関連付けることができる任意の文字列」です(tag)。レガシのドロップダウンの項目は並び順のまま保存され(listEntry)、選ばれた項目は「現在選択されているエントリの 0 から始まるインデックス」として保存されます(result)。ヘルプの文字列(helpText)とステータスの文字列(statusText)は、どう表示するかを規格が定めておらず、表示はプログラムに任されています。どちらも記入する人に示すためのものです。
これらはどれも、それ自体は秘密ではありません。問題になるのは、フォームを作った人に向けて書いた言葉のときです。そのフォームを納める先の顧客の名前が入ったタグ、値が社内のコードや価格になっているドロップダウン、記入する人が読めるヘルプの文字列に書いた「受け付ける前に人事に確認」のような言葉、ほかの顧客・社員・拠点の名前が並んだ選択肢です。
プレースホルダーの文字列と、連結した値
プレースホルダーの文字列は、コントロールの外に定義があります。規格は、docPart が「実行内容が空のときに親構造化ドキュメント タグに表示されるドキュメント パーツの名前を指定します」と書き、そのドキュメント パーツはふつうは同じファイルの用語集ドキュメントに置かれます。規格はこれを「WordprocessingML の補足ドキュメント ストーリー」と呼んでいます。コントロールが空の間は、表示している文字列がコントロールの中にも書かれ、それがプレースホルダーの文字列であるという印が付きます(showingPlcHdr)。「顧客名を入力」のままのプレースホルダーは問題になりません。記入例に書き換えて実在の名前を入れたプレースホルダーは、ファイルと一緒に渡ります。
データに連結(バインド)したコントロールは、カスタム XML のパーツの値を表示します。規格は、リッチ テキストと文書パーツ ギャラリーのコントロールでは連結を無視するとしたうえで、ほかのコントロールでは、連結が要素を見つけたときは「その要素の内容を使用して、ドキュメント内の現在の実行コンテンツを置き換える必要があります」と書いています(dataBinding)。パーツはコントロールとは別なので、コントロールを消しても、それだけでデータがファイルから出ていくわけではありません。カスタム XML のパーツが何を持てるか、どう取り除くかは、カスタム XML・埋め込みの記事にあります。Microsoft のドキュメント検査のページは、Word でドキュメント検査が取り除く項目に「データ バインド フィールドのデータ バインド リンク情報 (最後の値はテキストに変換されます)」を挙げています。
記入済みのフォームをテンプレートに使い回す
来月のフォームをいちばん早く作るには、今月のフォームを写すことです。前の人が入力したものは、上書きされなかったところにそのまま残ります。だれも変えなくてよかったコントロールの回答、チェックの入ったチェック ボックス、選んだままのドロップダウン、カスタム XML のパーツの連結した値です。レガシのテキスト フィールドは、回答をフィールドの結果として持ち、既定の文字列とヘルプの文字列も持ちます。新しいフォームは記入済みの写しからではなく空のテンプレートから作り、写しから作るしかないときは、すべてのコントロールを空にして、カスタム XML のパーツを読んでください。前の勤め先や前の取引先のテンプレートについては、前職のテンプレートの記事にあります。
[編集の制限]でフォームへの入力だけを許しても、これらは隠れません。規格は documentProtection の注で、「この保護ではドキュメントは暗号化されず、悪意のあるアプリケーションがその使用を回避する可能性があります。」「この保護は、セキュリティ機能として意図されていません。」と書いています。Excel のシートの保護もセルを暗号化しません。シートの保護は暗号化ではない記事をご覧ください。
Word でコントロールを確かめる
- 写しで作業し、[開発]タブを表示します。
- コンテンツ コントロールを 1 つずつ選び、[開発]→[プロパティ]を開きます。タイトルとタグを読み、ドロップダウン リストとコンボ ボックスでは、すべての表示名と値を読みます。外に出したくないものは[変更]か[削除]で直します。
- レガシ フィールドは、フィールドを 1 つずつ選んでオプションを開きます。既定の文字列、ブックマークの名前、ヘルプの文字列、ドロップダウンではすべての項目を読みます。
- 空のまま配るフォームは、チェック ボックスやドロップダウンの選択も含めて、回答を消します。
- ドキュメント検査([ファイル]→[情報]→[問題のチェック]→[ドキュメント検査])で、カスタム XML のデータと文書のプロパティを取り除きます。連結したコントロールには、最後の値が文字列として残ります。
ファイルの写しで確かめる
- .docx の写しを作り、拡張子を .zip に変えて展開します。
word/document.xmlをテキスト エディターで開きます。w:alias・w:tag・w:listItem(コンテンツ コントロール)と、w:ffData・w:default・w:helpText・w:statusText・w:listEntry(レガシ フィールド)を検索します。その隣のヘッダーとフッターのパーツでも同じようにします。customXmlのフォルダーにはデータのパーツがあります。itemのファイルを 1 つずつ開いて読みます。word/glossaryのフォルダーには、プレースホルダーの文字列と定型句があります。word/glossary/document.xmlを読みます。- この方法で何も見つからなくても、わかるのはこれらの検索で見つからなかったということだけで、ファイルにほかに何も無いということではありません。
ScrubDrop がすること
ScrubDrop は .docx をブラウザーの中で読み、ファイルはアップロードしません。まず限界を書きます。プレースホルダーの文字列は用語集のパーツ(Word の画面では定型句や文書パーツと呼ばれるものが入る場所)に置かれるので、コンテンツ コントロールで作ったフォームは用語集のパーツを持つことがあり、ScrubDrop は用語集のパーツを持つ文書を掃除しません。どちらの版でも、そのパーツを「ScrubDrop が残さない部品とマークアップ」の一覧に出し、パーツの中身を推測せずに、「この文書には定型句(文書パーツ)が含まれており、ScrubDrop はまだ整理できません。」というメッセージを示して、ファイルの掃除を断ります。Word がいつ用語集のパーツを加えるかは Microsoft のページに書かれていないので、先にフォームの写しに word/glossary のフォルダーがあるかを見てください。
ほかのファイルでは、無料版は 1 回に 1 ファイルで、コンテンツ コントロールのタグとデータの連結を、カスタム XML のパーツや、ほかに扱う種類の隠れたデータと一緒に一覧にし、文書のプロパティとコメントを取り除き、変更履歴は承諾して取り除きます。コンテンツ コントロールのタグ、データの連結、カスタム XML のパーツも取り除くのは ScrubDrop Pro です(「カスタム XML・文書変数・タグ」の項目で、文書変数も一緒に取り除きます)。連結したコントロールに出ている文字は残ります。
フォームの設定のうち、どちらの版でも一覧に出さず、取り除きもしないものがあります。コンテンツ コントロールのタイトル、ドロップダウン リストとコンボ ボックスの選択肢とその値、チェック ボックスの設定、プレースホルダーのパーツの名前、そしてレガシ フォーム フィールドの名前とそのブックマーク、既定の文字列、ヘルプとステータスの文字列、ドロップダウンの項目です。これらは上のように Word で直してください。[編集の制限]の設定そのものは残します。名前やグループを指定して文書の一部の編集を許す例外は、文書のプロパティと一緒に一覧に出し、プロパティと一緒に取り除くので、掃除した文書は、編集できる範囲のない制限された文書になります。例外が要るときは Word で付け直してください。結果は別のパーサーで読み直し、通らなかったファイルは渡しません。
よくある質問
Word のフォームのドロップダウン リストの、ほかの選択肢は見られますか?
見られます。ドロップダウン リストは、選んだものだけでなくすべての選択肢をファイルに持ち、それぞれに表示名と異なる値を持たせられます。Word でリストを開いても、写しの文書のパーツを読んでも、選択肢が見えます。相手に見せたくない選択肢は、[開発]→[プロパティ]で削除してください。
[編集の制限]をかければ、フォームの設定は隠れますか?
隠れません。ファイル形式の規格は、文書の保護は文書を暗号化せず、セキュリティ機能として意図されていないと書いています。タイトル・タグ・選択肢・ヘルプの文字列は、そのままファイルにあります。外に出したくないものを直すか消してから、記入だけを許したいときに編集を制限してください。
ドキュメント検査は、レガシ フォーム フィールドのヘルプの文字列を取り除きますか?
Microsoft の、ドキュメント検査が Word で見つけて取り除くものの一覧は、フォーム フィールドのヘルプの文字列・既定の文字列・ドロップダウンの項目に触れていません。取り除くのはカスタム XML のデータで、データに連結したフィールドは文字列に変えます。レガシ フィールドのオプションは、1 つずつご自身で確かめてください。
出典:このページからリンクした Microsoft のページは 2026 年 10 月 28 日に確認しました。ScrubDrop は Microsoft と提携していません。
.docx が見えないところに持っているものを確かめてください。ブラウザーの中で動き、アップロードしません。無料版は 1 回に 1 ファイルで、コンテンツ コントロールのタグ・データの連結・カスタム XML を一覧にし、プロパティ・コメント・変更履歴を取り除きます(用語集のパーツを持つ文書は一覧に出しますが、掃除しません)。ファイルを確認