SharePoint 2013 ライブラリ列と Office ファイル連携 InfoPath 編

SharePoint ライブラリ列と Office ファイルの連携 InfoPath のやり方です。

1.まずは InfoPath でテンプレートを作ります。

2.完成したら発行です。発行ウィザードで、
① 発行先 SharePoint サイトの URL を入力
② [フォーム ライブラリ] を選択
ここで、Enterprise 機能が利用できる場合、
[このフォームをブラウザーで入力できるようにする] をチェックするとブラウザーで開くフォームになる
③ [新しいフォーム ライブラリを作成する] を選択
   ④ ライブラリに名前を付ける
   ⑤ ライブラリ列に表示したいフィールドを [追加] をクリックして追加する。
この際、[データシート ページまはたプロパティ ページを使用してこのフィールド内のデータを編集することをユーザー
に許可する] をチェックいれると、ブラウザー上のプロパティ編集画面での編集も行えるようになる
TemplateInfoPath1

発行が完了すると、テンプレートの設定がされた状態のフォームライブラリがサイト内に出来上がります。

<利用イメージ>

  ① フォーム ライブラリで [新しいドキュメント] をクリックする
InfoPath テンプレートが開く
(Enterprise 機能が利用できる場合は、InfoPath クライアントではなく、ブラウザーでフォームを開くことも可)
内容を入力し、ライブラリ内にファイルを保存する
ライブラリにファイルが保存され、フォーム内に入力された内容は列に反映される
TemplateInfoPath2

 

InfoPath の場合、フォームをライブラリに発行する際に、入力項目のどれをライブラリ列と連携するか、またさらにブラウザー上での編集を許可するかどうか設定できます。
ファイルのプロパティ編集画面をブラウザーで開いた際、発行時にブラウザーでの編集を許可したプロパティのみ編集が行え、もちろん行った変更は、フォーム内の値に反映します。

広告

SharePoint 2013 ライブラリ列と Office ファイル連携 Excel 設定方法

SharePoint ライブラリ列と Office ファイルの連携 Excel の場合のやり方です。

まずは Excel 側の設定です。

1. Excel でテンプレートファイルを作成
   (例として、こんなの↓を利用します、Excel のテンプレートをダウンロードしました)
TemplateExcel1

2. セルとマップしたカスタム プロパティを必要な分作成します。
ライブラリ列に値を反映させたいセルを選択し、名前ボックスに名前を付けます。
TemplateExcel2

※ セルに付けた名前は、[数式] タブの [名前の確認] をクリックして、確認できます。
TemplateExcel3

3.[ファイル] メニュー – [プロパティ] – [詳細プロパティ] をクリックし、プロパティ ダイアログを表示します。
TemplateExcel4

4.プロパティ ダイアログで、[ユーザー設定] タブを開きます。
  プロパティ名を入力し、[内容にリンク] をチェックする。
そして、リンクするセル (名前を付けたセルから選択できる) を指定し [追加] をクリックして、カスタムプロパティを必要な数作成します。
TemplateExcel5

次にライブラリ側の設定です。

1.ライブラリを作成する。
2.[ライブラリ] タブ – [エクスプローラーで開く] をクリックして、ライブラリをエクスプローラーで開く
3.エクスプローラーで開いたライブラリ内の [Forms] フォルダー (隠しフォルダーです) 内に Excel で作成したテンプレート ファイルをドラッグ & ドロップ操作でアップロードする
TemplateExcel6
4.[ライブラリ] タブの [ライブラリの設定] をクリックし、ライブラリの設定画面から [詳細設定] をクリック
5.[詳細設定] 画面の [ドキュメントのテンプレート] に、前の手順でアップロードしたテンプレート ファイルのパスを指定 (ファイル名のみ変更)
TemplateExcel8
Word 編でもここまでは同じですね。ライブラリとの列連携が必要なく、ただテンプレート ファイルを登録するだけだと、設定以上です。

ここからはライブラリ列と Excel 内のカスタム プロパティを連携するための手順です。

6.ライブラリの設定画面から [詳細設定] をクリックし、[詳細設定] 画面の [コンテンツ タイプの管理を許可する] を [はい] に変更します。
7.続いて、ライブラリに列を作成します。
   ※ 列を作成する際に、次の点を注意ください。
Excel に作成したカスタム プロパティと同じ名前の列を作成すること
[すべてのコンテンツ タイプに追加] をオフとすること
(この設定をしたいために、あらかじめコンテンツ タイプの管理を許可しました)

<利用イメージ>

① ライブラリで [ファイル] タブ – [新しいドキュメント] をクリックする
② Excel テンプレートが開く (もちろんテンプレート ファイルを他の方法で共有しても OK)
③ 内容を入力し、ライブラリ内にファイルを保存する
④ ライブラリにファイルが保存され、カスタム プロパティとして設定されたセル内に入力した内容は、対応する列 (プロパティ) に値が入る
TemplateExcel9
本文中の値がライブラリ列に表示されることで、SharePoint の各機能とさらに連携することは、ビューを作成したり、列のデータは Excel にエクスポートできるので集計に利用できたり、メール通知でやってくるメール内にも内容が表示できたり、ワークフローから列の値が利用できたり・・Word と同じです。

Excel の場合は、ドキュメント コンテンツ タイプに列を追加しているわけではないので、ファイルを選択し、[プロパティの編集] を開いても、カスタム プロパティの値はブラウザー上での編集は行えません。
TemplateExcel10

 

SharePoint 2013 ライブラリ列と Office ファイル連携 Word 設定方法

列連携 Word のやりかたです。

1. ライブラリを作成
2. Word でテンプレートファイルを作成  (例として、こんなのを利用します)
TemplateWord1
3. ライブラリで、[ライブラリ] タブ – [エクスプローラーで開く] をクリックして、ライブラリをエクスプローラーで開く
4. エクスプローラーで開いたライブラリ内の [Forms] フォルダー (隠しフォルダーです) 内に
Word で作成したテンプレート ファイルをドラッグ & ドロップ操作でアップロードする
TemplateWord2

5. [ライブラリ] タブの [ライブラリの設定] をクリックし、ライブラリの設定画面から [詳細設定] をクリック
6. [詳細設定] 画面の [ドキュメントのテンプレート] に、前の手順でアップロードしたテンプレート ファイルのパスを指定 (ファイル名のみ変更)
TemplateWord3

ライブラリとの列連携が必要なく、ただテンプレート ファイルを登録するだけだと、設定以上です。
ここからはライブラリ列と Word テンプレートを連携するための手順です。

1. ライブラリに列を作成する
(ここでは上記サンプル Word テンプレートと連携するため、次の列を作成)
TemplateWord4

2.ライブラリで、[ファイル] タブの [新しいドキュメント] をクリックし、前の手順で設定した Word テンプレートを開く
3.ライブラリのプロパティと連動させたい入力内容を選択し、 Word の [挿入] タブ – [クイック パーツ] – [ライブラリのプロパティ名] をクリックする
4.ライブラリのプロパティ (列) と連動したクイック パーツが挿入される
TemplateWord5
5.同様の操作で、ライブラリ列と連動したい内容にクイック パーツを挿入する
TemplateWord6
6.ライブラリ内の [Forms] フォルダー内にアップロードしたテンプレート ファイルを上書き保存する

<利用イメージ>
① ライブラリで [ファイル] タブ – [新しいドキュメント] をクリックする
② クイック パーツが挿入された状態のテンプレートが開く
(もちろんテンプレート ファイルを他の方法で共有しても OK)
③ クイック パーツ内にデータを入力し、[ファイル] – [名前を付けて保存] をクリックし、ライブラリ内にファイルを保存する
④ ライブラリにファイルが保存され、クイック パーツ内に入力した内容は、対応する列 (プロパティ) に値が連動している
TemplateWord7

もちろん、ブラウザー操作で (プロパティの編集画面で) ファイル プロパティを編集すると、Word 本文中のクイック パーツの内容も変わります。

SharePoint 2013 ライブラリ列と Office ファイル連携 まとめ

SharePoint ライブラリで、テンプレート ファイルを用意する場合、文章中に入力した内容をライブラリ列を連動させる方法はいくつか方法があります。とはいえ、SharePoint の機能というよりは、Office クライアントとの連携機能なので、Word か Excel か InfoPath 側でテンプレート ファイルにも設定をしこむが答えです。

Word を利用した場合、Excel を利用した場合、InfoPath を利用した場合、それぞれの特徴をまとめてみます。

<Word 例>
TemplateWord7
<Excel 例>

TemplateExcel9

<InfoPath 例>

TemplateInfoPath2

■ それぞれの特徴

比較内容 Word Excel InfoPath
利用する機能 クイック パーツ カスタム プロパティ 発行時に指定
利用できるデータ型 一行テキスト
複数行テキスト
数値、通貨
日付と時刻
はい/いいえ
選択肢
参照
ユーザー名(表示のみ)
一行テキスト
複数行テキスト
数値、通貨
日付と時刻
はい/いいえ (Excel 上で True/False 入力)
※ 数式結果でも OK
一行テキスト
複数行テキスト
数値、通貨
日付と時刻

選択肢、参照
(InfoPath データ接続で対応可能、フォームに入力したデータはテキストで列に入る、他サイト内のリストや DB、
Web サービス参照も可能)

選択肢、参照、ユーザーとグループを SharePoint データ型と同様に扱いたい場合、リスト フォームカスタマイズなら可 (IPFS 要)

ブラウザー、プロパティ編集画面

Word クイック パーツは SharePoint 列と連動するため、ブラウザーのプロパティ編集画面で編集した内容は、Word 文書内のクイックパーツ内に反映される

ブラウザーで編集できないように設定は行えない

ライブラリに列を作成する際、ドキュメント コンテンツ タイプには追加しないため、ブラウザー上では編集しない (プロパティ編集画面に)

コンテンツ タイプに追加した場合、ブラウザー上で編集した内容は、Excel ファイルには反映されない

InfoPath からフォームをライブラリに発行する際に、どのフィールド (入力項目) をブラウザー上でも編集できるようにするかを設定可能
入力時の注意 クイック パーツ内に入力されないと意味がない
(間違って他の箇所に入力される可能性あり)

カスタム プロパティとリンクされているセル内に入力されないと意味がない
(間違って他の箇所に入力される可能性あり)

入力コントロール以外には、入力が行えないため、誤った箇所に入力されないようフォームを作成できる

保存先の指定

(連携しているライブラリに
保存されないと意味がないため)

必ず対象ライブラリに保存されるようにしたい場合、VBA で保存ボタンを用意することは可能 必ず対象ライブラリに保存されるようにしたい場合、VBA で保存ボタンを用意することは可能 指定ライブラリに保存するためのボタンはノンコーディング (設定のみ) で用意できる
使いやすさ (使い慣れ)
そもそも InfoPath が持ってない/展開されていない
機能面    

入力ステータスに応じて開く画面を変更したり、(新規と編集時でフォーム内容変えるとか)

入力チェック機能等のロジックも含められる

ブラウザー対応 Word Online ではクイックパーツは動作しない Excel Online ではセルにリンクしたカスタム プロパティはサポートされていない InfoPath Forms Services が利用できれば可能

本文中の値がライブラリ列に表示されることで。

1. ビューに活用
     
本文中に入力された値を利用して、ビューが作成できたり。
     TemplateWord8

2. Excel エクスポート
     
ビューに表示している列内容は、Excel にエクスポートできます。集計やとりまとめ作業に便利
     TemplateWord9

3. 新着通知
     
ライブラリに通知メールの設定をすると、新着通知をメールで受け取れます。
    
プロパティがあるライブラリからの通知と、ないライブラリからの通知は内容が違います。
    
メールで、本文中のキーワードをひろいつつ、新着確認ができるのは便利。
     TemplateWord10

4. SPD ワークフロー作成時に値を活用
     
標準機能ではなくなりますが、SharePoint Designer 2013 でワークフローを作る時、
      ライブラリ列の値はフロー内で扱えます。

それぞれの設定方法
Word  →  次回 UP
Excel  → 次々回 UP
InfoPath → その次 UP