設定だけで(開発をせずに) ワークフローから Office ドキュメントの中身を更新する方法 (1)

(2008/04/25:変更  タイトルを変更し、内容を連載化 …) 

環境:
Office SharePoint Server (MOSS) 2007
SharePoint Designer 2007
Office Word 2007

設定だけで(開発をせずに) ワークフローから Office ドキュメントの中身を更新する方法

  1. Word 2007 のテンプレート設定
  2. SharePoint Designer 2007 を使用したワークフロー設定
  3. InfoPath 2007 の場合 

こんにちは。
今日は Non-Code です(コアの開発者向ではなく、SharePoint 活用術的な内容です)。
TechED セッションの予備知識として記載しておきます。

新しい SharePoint では、SharePoint の中のデータとクライアント (Visio、等々) のドキュメントの連携ができるようになっているという点を以前記載しましたが、今日もそうした内容の発展系です。
SharePoint Designer を使って、Word ドキュメントの文書の内容と連携するワークフローを作成する方法について説明します。この方法を使うと、Word 文書の中の値を条件にアクティビティを実行したり、ワークフローから文書の中身を更新したり、さらには文書の値をアクティビティに引き渡したりなど、Word ドキュメントと連携した柔軟なワークフローを Non-Code で (Open XML を扱うプログラムを書くことなく) 作成することができます。

さっそく手順をご紹介します。

  1. まず、SharePoint にサイトの管理者としてログインし、サイトに「列」を作成しておきましょう。
    [サイトの操作] – [サイトの設定] で、[サイト内の列] のリンクを選択して新しい列を作成します。今回は、「製造番号」と「承認者」という列を追加することにします。
    (以降、特に記述しませんが、列や、サイトコンテンツタイプなどをカスタムで作成する際は、「Contoso株式会社」など、同じグループでまとめておくと良いでしょう。)
  2. さらに、サイトコンテンツタイプを新規作成します。
    [サイトの操作] – [サイトの設定] を選び、[サイトコンテンツタイプ] をクリックして作成します。余計な列を取り込まないように、[親コンテンツ タイプの選択元] と [親コンテンツタイプ] は、「ドキュメントコンテンツタイプ」、「ドキュメント」を選択しておきましょう。
  3. 作成したコンテンツタイプに上記で作成した「製造番号」、「承認者」の列を追加します。[サイト内の既存の列から追加] をクリックして追加します。
  4. Word テンプレート (dotx) を作成し、上記で作成したサイトコンテンツタイプのテンプレートとして添付します。
    作成したサイトコンテンツタイプの設定画面から、[詳細設定] をクリックすると設定できます。
  5. このサイトコンテンツタイプを使用したドキュメントライブラリを新規作成します。
    1. [サイトの操作] – [作成] で [ドキュメントライブラリ] を選択して、ドキュメントライブラリを新規作成します。
    2. 作成したドキュメントライブラリを表示し、[設定] – [ドキュメントライブラリの設定] で、[詳細設定] をクリックします。
    3. 表示される画面で、[コンテンツタイプ] で「はい」を選択して確定します。
    4. これにより、ドキュメントライブラリの設定画面の真ん中あたりに、[コンテンツタイプ] の設定欄が表示されます。ここに、[既存のサイト コンテンツ タイプから追加] をクリックして、先ほど作成したコンテンツタイプを設定しておきましょう。
      また、既存で設定されている「ドキュメント」は、邪魔なので削除しておきましょう。
  6. では、ドキュメントライブラリから新規にドキュメントを作成してみてください。
    上部に、ドキュメント情報パネルが表示され、「製造番号」、「承認者」が表示されているのがわかります。ここで入力した値はドキュメントの SharePoint 上のプロパティとして登録されます。
  7. このプロパティを Word のドキュメント内部のデータと関連付けます。
    [挿入] タブを選択し、[クイックパーツ] – [文書のプロパティ] – [製造番号] を選択して、SharePoint の列と関連付いた Word 文書内のコンテンツコントロール (Content Control) が挿入されます。
    同様にして、[承認者] も挿入しておきます。

ドキュメント情報パネルを毎回表示させるには、サイトコンテンツタイプの設定画面から、[ドキュメント情報パネルの設定] をクリックして、[常に表示] もチェックしておくと良いでしょう。

ドキュメントを選択し、[プロパティの編集] で表示をおこなうと、SharePoint 上のプロパティも更新されているのがわかります。試しに、この [プロパティの編集] 画面で「製造番号」を変更し、この文書を編集などで開くと、文書内の「製造番号」欄も変更されているのがおわかり頂けるでしょう。
あとは、SharePoint Designer を使っていつも通りワークフローを作成し、プロパティ (フィールド) からの値の取得や値の変更をおこなうと、連動して文書内部が変更されることになります。
次回は、SharePoint Designer を使って、そのワークフロー側を (やはり開発をおこなわずに) 設定してみましょう。

下記の InfoPath チームブログでは、この方法に関するさらに別のおもしろいトピック (技) をとりあげていますので是非参考にしてみてください。

http://blogs.msdn.com/infopath/archive/2006/11/06/data-binding-between-document-information-panel-and-word-document.aspx

なお、TechED では、さらにドキュメントと柔軟に連携したワークフロー作成術をご紹介する予定です。
以前ブログにも記載しましが、今年のテーマは Practice ! (新機能紹介よりも、より 「実践」 的な内容) です。

 

Advertisements

2 thoughts on “設定だけで(開発をせずに) ワークフローから Office ドキュメントの中身を更新する方法 (1)

  1. 環境: Microsoft Office SharePoint Server (MOSS) 2007 こんにちは。 新しい 2007 Office における大きなポイントとして、「サーバ」を介して各システム間を連携させるという点はセミナーなどでもよく強調しますが、開発者の方向けのセッションでは、いつもこの辺りの利用の側面は、薄い説明になってしまいます。そこで今日は、その辺りを開発の方以外にもイメージして頂けるような実例をピックアップして記載することで、皆さんにMOSS的活用センスを身に着けて頂こうと思います。(実は、最近、社内外よりいくつかの質問を受けて、まとまって書かれているページもないため、こうしたイメージもちゃんと伝えるべきと感じたためです。今日はコードレ

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s