特集 InfoPathの衝撃 吉松史彰 |
|
|
衝撃 1: スキーマ・ベースの簡単なフォーム作成
ExcelやWordにテキスト・ボックスやボタンを配置して定形フォームの見掛けを作るのは簡単だが、テキスト・ボックスの入力値を検査したり、ボタンがクリックされたときにデータベースにデータを挿入したりするような操作は、高度なマクロを書かなければ実現できなかった。InfoPathでは、そのような機能がドラッグ&ドロップで簡単に手に入る。
■フォーム・テンプレートの作成
InfoPathのフォームは、Visual Basicのように白紙にコントロールをドラッグ&ドロップして作成することもできる。しかし、InfoPathが持つフォーム作成機能の衝撃的な特徴の1つは、W3C XML Schema(WXS)を使って定義され、XML Schema Definition Language(XSD)で記述されたスキーマ定義文書を読み取って、半自動的にフォームを作成する機能だ。
スキーマから自動作成されるInfoPathのフォーム |
InfoPathのフォームは、XSD文書を指定することにより自動生成することができる。後述するように、エラー・チェック機能も実装され、データは純粋なXML文書として保存できる。 |
例えば、次のようなXSD文書があるとしよう。非常に単純な、交通費のデータを表すスキーマだ。
|
|
交通費データを表すスキーマを定義したXSD文書の例 |
このスキーマでは、次のようなXML文書を妥当と想定している。
|
|
上記スキーマに従って記述された交通費データの例 |
さて、上記のような妥当なXML文書を出力する定形フォーム入力ツールは、スキーマ文書があればInfoPathではドラッグ&ドロップで手に入る。まず、InfoPathを起動し、[ファイル]メニューから[フォームのデザイン]を選択する。すると以下のように、画面右端(デフォルト)の「タスク・ペイン」にメニューが現れる。
XMLスキーマからフォームの作成(1/5) |
メニューから[フォームのデザイン]を選択すると「タスク・ペイン」が表示される。ここで[データソースから新規作成]を選択する。 |
タスク・ペイン上のメニューで、[データソースから新規作成]を選択する。すると、データ・ソースを選択するダイアログ・ボックスが表示される。
XMLスキーマからフォームの作成(2/5) |
ここでは、データ・ソースとしてXMLスキーマ(XSD文書)を使用する。 |
興味をそそるオプションが並んでいるが、ここはデフォルトの[XMLスキーマまたはXMLデータファイル]を選択したまま次へ進む。するとファイルを選択する画面になるので、上記のXSD文書を保存したファイルを選択して[完了]をクリックする。すると、画面上に白紙のフォーム・テンプレートが表示され、タスク・ペインには[データソース]が表示される。
XMLスキーマからフォームの作成(3/5) |
フォーム作成用の白紙のフォーム・テンプレート。[使用するデータソース]には、XSD文書に記述したスキーマの構造が表示されている。 |
[使用するデータソース]欄には、XSD文書に記述したとおりにスキーマの構造が表示されている。ここで、[交通費]を白紙のフォームにドラッグ&ドロップする。
XMLスキーマからフォームの作成(4/5) |
[使用するデータソース]から[交通費]を白紙のフォームにドラッグ&ドロップし、[繰り返しテーブル]を選択する。 |
メニューが表示されるので、ここでは[繰り返しテーブル]を選択する。すると、入力フォームが自動作成される。
XMLスキーマからフォームの作成(5/5) |
データ・ソースの項目をドラッグ&ドロップしただけで、このような入力フォームが自動的に作成される。 |
これでひとまず入力フォームの作成は完了した。操作としては、ドラッグ&ドロップしただけであることに注意してほしい。それだけであるにもかかわらず、このフォームにはすでに定形フォームへの入力を支援する機能が含まれている。[ファイル]メニューから[上書き保存]を選択して、ファイルを「交通費.xsn」という名前のファイルとして保存し、ファイルを閉じる。
INDEX | ||
[特集]InfoPathの衝撃 | ||
1.衝撃 1: スキーマ・ベースの簡単なフォーム作成(1) | ||
2.衝撃 1: スキーマ・ベースの簡単なフォーム作成(2) | ||
3.衝撃 2: “100% Pure XML”のアウトプット | ||
4.衝撃 3: XML Webサービスとの連携 | ||
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|