Microsoft SharePoint Designer 2013 の SharePoint 2010 ワークフロー プラットフォームで使用できるワークフロー条件について説明します。この記事は、SharePoint Designer 2013 で作業しているが、引き続き SharePoint 2010 ワークフロー プラットフォームを使用する場合にのみ使用します。代わりに SharePoint ワークフロー プラットフォームを使用する場合は、「SharePoint ワークフロー プラットフォームのワークフロー アクションとアクティビティのリファレンス」を参照してください。、および新しいプラットフォームで使用できる新機能について説明する「その他のリソース」セクションに記載されているその他の記事。2010 ワークフロー プラットフォームを使用してワークフローの作成を開始するには、[ワークフローの作成] ダイアログ ボックスの [プラットフォームの種類] ボックスで [SharePoint 2010 ワークフロー] を選択します。
注:
SharePoint 2010 ワークフローは、2020 年 8 月 1 日以降、新しいテナント用に廃止され、2020 年 11 月 1 日に既存のテナントから削除されました。 SharePoint 2010 ワークフローを使用している場合は、Power Automate またはその他のサポートされているソリューションに移行することをお勧めします。 詳細については、「SharePoint 2010 ワークフローの廃止」を参照してください。
ワークフロー条件のアクセス方法
使用可能なワークフロー条件のメニューにアクセスする方法は 2 種類あります。
ワークフロー ステップ内で編集を行う際に、次のどちらかの操作を行います。
[ ワークフロー] タブの [ 挿入] グループで [ 条件] をクリックして、ワークフロー アクションの一覧を開きます。
ワークフロー ステップ内をダブルクリックします。 表示される検索ボックスに、条件名として表示するテキスト (「created」など) を入力し、Enter キーを押します。 入力したテキストを含むアクションと条件がテキスト ボックスの後ろに表示されます。
ワークフローを作成または変更する際に使用できる条件は、作業中の正確なコンテキストによって異なります。 詳細については、次の説明を参照してください。
1 SharePoint Designer 2013 の一般的な条件。
2完全なリスト アイテムのアクセス許可を確認 し、 リスト アイテムのアクセス許可を確認 する権限は、偽装ステップ内でのみ使用できます。
3ファイル サイズは特定の範囲 KB であり 、 ファイルの種類は、 ドキュメント コンテンツ タイプ、ドキュメント コンテンツ タイプの子、またはライブラリに関連付けられているワークフローでのみ使用できます。
4いずれかの値が value と等しく 、 ユーザーが有効な SharePoint ユーザーである 場合は、サイト ワークフローを作成するときに使用できる唯一の条件です。
一般的な条件
このセクションでは、ワークフローが関連付けられているリストの種類またはコンテンツ タイプにかかわらず、リストおよび再利用可能リストのワークフローに対して SharePoint Designer 2013 で使用できる条件について説明します。
ある値と値が等しいかどうか
この条件は、最初はワークフロー ステップで [ ある値と値が等しいかどうか] としてワークフロー ステップに表示されています。 1 つの値と別の値を比較する場合は、この条件を使用します。 それぞれの値には、静的テキスト、動的文字列、あるいは変数、コンテキスト情報、または SharePoint フィールドに対する検索を指定できます。
条件では、[ が次の値を含む] や [ が次の値より大きい] などの幅広い演算子から選択できます。 そのためには、条件の最初の [ 値] を設定して、[ が次の値と等しい] をクリックする必要があります。 使用可能な演算子は、条件の最初の [ 値] の設定内容によって異なります。 たとえば、検索ダイアログを使用して条件の最初の [ 値] を [ 作成日時] などの日付/時刻データ型に設定した場合、使用可能なオプションに [ が次の値を含む] 演算子は含まれません。
[ が次の値と等しい] 演算子と [ が次の値を含む] 演算子には、次の 2 つのバリエーションがあります。
[ が次の値と等しい] 演算子と [ が次の値を含む] 演算子は、どちらも大文字と小文字を区別します。
[ が次の値に等しい (大文字と小文字を区別しない)] 演算子と [ が次の値を含む (大文字と小文字を区別しない)] 演算子は、大文字と小文字を区別しません。
条件の 2 番目の [ 値] に対して選択するオプションは、最初の [ 値] の設定内容によってもある程度異なります。 たとえば、最初の [ 値] を [ 作成日時] に設定し、[ 最後の 10 文字] などの文字列変数を使用して 2 番目の [ 値] を検索するとします。 [ 作成日時] との比較で予測可能な結果が返されるように、この文字列は [ 日付/時刻型として] 返してもらいたいでしょう。
注:
**|| などの論理演算子を使用できます。**(または) または 条件に&& (および) します。
以下にワークフロー ステップ内での条件の例を示します。
変数: 変更日時から 1 週間が今日より大きいかどうか
変数: 仕様名が SharePoint Designer または SPDを含む (大文字と小文字を区別しない) かどうか
[ ある値と値が等しいかどうか] 条件は、サイト ワークフローで作業している場合に使用できる 2 つの条件のうちの 1 つで、もう 1 つの条件は [ 有効な SharePoint ユーザーかどうか] です。 サイト ワークフローの詳細については、この記事の「サイト ワークフロー内で使用可能な条件」セクションを参照してください。
現在のアイテム フィールドと値が等しいかどうか
この条件は、最初はワークフロー ステップに [ 条件: フィールド が 値 に等しい] として表示されています。 現在のアイテム (リストまたは再利用可能リストのワークフローが現在実行されているアイテム) 内のフィールドの値を別の値と比較するには、この条件を使用します。 値には、静的テキスト、動的文字列、あるいは変数、コンテキスト情報、またはその他の SharePoint フィールドに対する検索を指定できます。
[ フィールド] をクリックすると、オプションの一覧が表示されます。 [ フィールド] に使用できるオプションは、ワークフローが関連付けられているコンテンツ タイプ、リスト、ライブラリ、またはサイトによって異なります。 たとえば、既定のライブラリに関連付けられているワークフローには、[ タイトル]、[ 作成日時]、[ 作成者] などのフィールド オプションがあります。
[ が次の値を含む] や [ が次の値より大きい] などの幅広い演算子から選択できます。 演算子を選択する前に、まず [ フィールド] の値を選択し、[ が次の値と等しい] をクリックする必要があります。 使用可能な演算子は、[ フィールド] の設定内容によって異なります。 たとえば、検索ダイアログを使用して [ フィールド] を [ 作成日時] などの日付/時刻データ型に設定した場合、[ が次の値を含む] 演算子はオプションとして一覧表示されません。
等号と包含演算子には 2 つのバリエーションがあります。 等号演算子と contains 演算子では大文字と小文字が区別されますが、等号 (大文字と小文字の区別は無視) と contains (大文字と小文字の区別は無視) は大文字と小文字は区別されません。 たとえば、 フィールド を Title に設定し、 contains 演算子を使用し、条件の 値 がDocument の場合、タイトルに文書が含まれている場合にのみ条件が true になり、大文字 D のないドキュメントのみが含まれている場合は該当しません。代わりに contains (大文字小文字を無視) 演算子を 使用する場合、Document またはdocument またはその両方を含むタイトルの条件は true になります。
[ 値] に対して選択するオプションは、[ フィールド] の設定内容によってもある程度異なります。 たとえば、[ フィールド] を [ 作成日時] に設定し、[ 最後の 10 文字] などの文字列変数を使用して [ 値] を検索するとします。 [ 作成日時] との比較で予測可能な結果が返されるように、この文字列は [ 日付時刻型として] 返してもらいたいでしょう。
注:
**|| などの論理演算子を使用できます。**(または) または 条件に&& (および) します。
ワークフロー ステップでの条件の例を次に示します。 (最初の例では、 が "より前" を意味すると解釈される よりも小さい ことに注意してください)。
現在のアイテム: 変更日時が 1/1/2010 12:00:00 AMより小さいかどうか
現在のアイテム: パスが Marketing または Public Relationsを含む (大文字と小文字を区別しない) かどうか
指定したユーザーによって作成された
この条件は、最初はワークフロー ステップで [ 条件: 指定したユーザー によって作成された] として表示されています。 指定したユーザーによってアイテムが作成されたかどうかを調べるには、この条件を使用します。 ユーザーを指定するには、ユーザー名または電子メール アドレスを手動で入力するか (たとえば、 Olivier@contoso.com)、または SharePoint、Exchange、または Active Directory に既に表示されているユーザーの中からユーザーを選択します。
注:
ユーザー名と電子メール アドレスはどちらも大文字と小文字を区別するので、大文字と小文字を正しく区別できるよう、後者の方法を使用することをお勧めします。 ユーザー名または電子メール アドレスを手動で入力する必要がある場合は、大文字と小文字が正確に一致するように注意してください。 たとえば、ユーザー アカウントが Contoso\Molly として登録されている場合、[contoso\molly によって作成されたかどうか] という条件は真と評価されません。
以下にワークフロー ステップ内での条件の例を示します。
- Molly Clark によって作成されたかどうか
指定した期間内に作成された
この条件は、最初はワークフロー ステップに [ 条件: 日付 から 日付 の間に作成された] として表示されています。 指定した 2 つの日付の間にアイテムが作成されたかどうかを調べるには、この条件を使用します。 現在の日付、指定した日付、または検索結果を使用できます。
以下にワークフロー ステップ内での条件の例を示します。
- 2009 年 1 月 1 日から 2010 年 1 月 1 日 午前 12 時 00 分 00 秒の間に作成されたかどうか
指定したユーザーによって変更された
この条件は、最初はワークフロー ステップに [ 条件: 指定したユーザー によって変更された] としてに表示されています。 指定したユーザーによってアイテムが変更されたかどうかを調べるには、この条件を使用します。 ユーザーは、 olivier@contoso.comなどの電子メール アドレスとして指定することも、SharePoint、Exchange、Active Directory ユーザーから選択することもできます。
注:
ユーザー名および電子メール アドレスは、大文字と小文字が区別されます。 大文字と小文字が正しく使い分けられるように、ユーザー名または電子メール アドレスを選択することをお勧めします。 ユーザー名または電子メール アドレスを入力する場合は、アカウントの大文字/小文字と一致させる必要があります。 たとえば、ユーザー アカウントが Contoso\Molly の場合、[contoso\molly によって変更されたかどうか] は真と評価されません。
以下にワークフロー ステップ内での条件の例を示します。
- Molly Clark によって変更されたかどうか
指定した期間内に変更された
この条件は、最初はワークフロー ステップに [ 条件: 日付 から 日付 の間に変更された] として表示されています。 指定した 2 つの日付の間にアイテムが変更されたかどうかを調べるには、この条件を使用します。 それぞれの日付の値には、現在の日付、指定した日付、または検索結果を使用できます。
以下にワークフロー ステップ内での条件の例を示します。
- 2009 年 1 月 1 日から 2009 年 1 月 1 日 午前 12 時 00 分 00 秒の間に変更されたかどうか
有効な SharePoint ユーザーかどうか
この条件は、最初はワークフロー ステップに [ 有効な SharePoint ユーザーかどうか] として表示されています。 指定したユーザーが SharePoint サイトのメンバーかどうかを調べるには、この条件を使用します。
SharePoint Designer 2013 では、企業ドメイン外のユーザー (外部参加者) を含めることができます。 たとえば、ワークフローでタスクを外部参加者に割り当てたとします。 その場合、このアクションを使用して、タスクが完了するまでサイト ユーザーを外部参加者によってフォローアップできます。
以下にワークフロー ステップ内での条件の例を示します。
- Molly Clark が有効な SharePoint ユーザーかどうか
[ 有効な SharePoint ユーザーかどうか] 条件は、サイト ワークフローで作業している場合に使用できる 2 つの条件のうちの 1 つで、もう 1 つの条件は [ ある値と値が等しいかどうか] です。 サイト ワークフローの詳細については、この記事の「サイト ワークフロー内で使用可能な条件」セクションを参照してください。
タイトル フィールドにキーワードを含む
この条件は、最初はワークフロー ステップに [ 条件: タイトル フィールドに キーワード を含む] として表示されています。 指定したテキストがアイテムの [ タイトル] フィールドに含まれるかどうかを調べるには、この条件を使用します。 文字列ビルダーで (静的値、動的文字列、またはその 2 つの組み合わせとして) テキストを指定するか、フィールドまたは変数に対する検索を挿入することができます。
注:
[タイトル フィールドにキーワードを含む] 条件を使用する場合、複数のキーワード テキストは検索できません。 複数の代替キーワード テキストを検索するには、**|| などの論理演算子を使用できます。**( または) と && (および) のいずれかの条件: 値が値と等しい場合 と、 現在の項目フィールドが値と等しい場合。 ([タイトル] フィールドのみを検索する場合は、後者の条件を使用します)。 例については、次の図を参照してください。>
代理ステップ内でのみ使用可能な条件
既定では、ワークフローを手動で開始すると、ワークフローを開始したユーザーのアクセス許可が使用されます。 しかし、ワークフローを開始したユーザーに、そのワークフローが実行する必要がある 1 つまたは複数の操作に適した権限がない場合はどうでしょうか。 たとえば、ワークフローを開始したユーザーが、アーカイブのためのアクセス許可を含まない、読み取りアクセス許可レベルのみを持っているライブラリに、ワークフローがドキュメントをアーカイブする必要がある場合はどうなるでしょうか。
そのような場合は、ワークフロー内で 1 つまたは複数の代理ステップを使用できます。 代理ステップでは、そのワークフロー テンプレートを直前に保存したユーザー (通常はテンプレートの作成者) のアクセス許可が使用されます。通常、このユーザーは、ワークフローのすべての操作に必要なアクセス許可 (この場合はドキュメントを適切なライブラリにアーカイブするためのアクセス許可) を持っています。
注:
どちらの条件でも、条件が True.> に評価されるためには、指定されたすべてのユーザーとグループが比較に合格する必要があります。どちらの条件でも、指定したアクセス許可が指定された個々のユーザーに明示的に割り当てられているか、またはそれらの個々のユーザーが暗黙的にのみ保持するかどうか (たとえば、アクセス許可が割り当てられているグループのメンバーとして) は関係ありません。一方、指定されたグループの場合、アクセス許可は明示的に割り当てられ、親グループから継承されていない必要があります。
リスト アイテムのアクセス許可のチェック
この条件は、最初は代理ステップに [ 条件: これらのユーザー が このリスト のアイテムに対して持つアクセス許可は、少なくとも これらのアクセス許可] として表示されています。
指定したリストまたはライブラリに対して、指定した各ユーザーおよびグループが保持する個々のアクセス許可に、指定した 1 つまたは複数のセキュリティ レベルに含まれる個々のアクセス許可がすべて含まれるかどうかを調べるには、この条件を使用します。
例
あるユーザーまたはグループは、あるリストに対して読み取りアクセス許可レベルのみを持っていますが、条件では承認レベルが指定されています。 読み取りレベルには、承認レベルに含まれるアクセス許可がすべて含まれるわけではないので、この場合、条件は偽と評価されます。
別のユーザーまたはグループは、同じリストに対してフル コントロールアクセス許可レベルを持っています。 フル コントロール レベルには、承認レベルに含まれるすべてのアクセス許可 (およびその他のアクセス許可) が含まれるため、今回は、条件が真と評価されます。
以下にワークフロー ステップ内での条件の例を示します。
- Contoso Members のアクセス許可が現在のアイテム内のアイテムに対する読み取りアクセス許可以上かどうか
リスト アイテムのアクセス許可レベルのチェック
この条件は、最初は代理ステップに [ 条件: これらのユーザー が このリスト のアイテムに対して持つアクセス許可レベルは、少なくとも これらのアクセス許可レベル] として表示されています。
この条件を使用して、指定したリストまたはライブラリに対して、指定された各ユーザーとグループに、指定されたアクセス許可レベルまたはレベルが明示的に割り当てられているかどうかを検出します。 暗黙的にのみ保持されるアクセス許可 (たとえば、アクセス許可が割り当てられているグループのメンバーによって) は、この条件では考慮されず、指定されたユーザーとグループが保持する個々のアクセス許可も考慮されません。
例
あるユーザーは、あるリストに対してフル コントロール アクセス許可レベルのみが明示的に割り当てられていますが、条件では読み取りレベルのみが指定されています。 このユーザーは、読み取りレベルに含まれる個々のアクセス許可をすべて保持していますが、読み取りレベルは明示的に割り当てられていないので、条件は偽と評価されます。
別のユーザーは、別のリストに対してデザイン アクセス許可レベルのみが明示的に割り当てられていますが、条件ではデザイン レベルと階層の管理レベルの両方が指定されています。 このユーザーには、必要な 2 つのレベルのうち 1 つしか割り当てられていないので、条件は偽と評価されます。
3 番目のリストの場合、ユーザーはメンバー グループのメンバーであり、そのグループからアクセス許可を継承します。 ただし、アクセス許可レベルがユーザー に明示的に 割り当てされていません。 条件には投稿レベルの 明示的な割り当てが 必要であるため、ユーザーはそのレベルのアクセス許可を暗黙的にのみ保持するため、条件は再び False と評価されます。
以下にワークフロー ステップ内での条件の例を示します。
- Contoso Members のアクセス許可レベルが現在のアイテム内のアイテムに対する読み取りアクセス許可以上かどうか
ワークフローがライブラリまたはドキュメント コンテンツ タイプに関連付けられている場合にのみ使用可能な条件
[ ファイル サイズが指定した範囲内 (キロバイト)] 条件と [ 指定したファイルの種類] 条件は、ワークフローがライブラリまたはドキュメント コンテンツ タイプに関連付けられている場合にのみ使用できます。
ファイル サイズが指定した範囲内 (キロバイト)
この条件は、最初はワークフロー ステップに [ 条件: ファイルのサイズが サイズ KB から サイズ KB の間] として表示されています。 ドキュメントのファイル サイズが指定した 2 つのサイズ (キロバイト単位) の間に含まれるかどうかを調べるには、この条件を使用します。 条件の評価で、指定したサイズは含まれません。 各 [ サイズ] には、数値を入力するか、検索を使用できます。
以下にワークフロー ステップ内での条件の例を示します。
- ファイル サイズが 1,023 キロバイトから 1,048,577 キロバイトの場合
注:
指定した上限および下限は、定義される範囲内に含まれません。 この例では、1023 KB のファイルは 1023 ~ 1048577 の間に含まれないため、偽と評価されます。
指定したファイルの種類
この条件は、最初はワークフロー ステップに [ 条件: ファイルの種類が 指定した種類] として表示されています。 現在のアイテムのファイルの種類が指定した種類 (docx など) かどうかを調べるには、この条件を使用します。 ファイルの種類は、文字列として入力するか、検索を使用できます。
以下にワークフロー ステップ内での条件の例を示します。
- ファイルの種類が docx かどうか
サイト ワークフロー内で使用可能な条件
サイト ワークフローはサイト レベルで動作し、リスト アイテムには関連付けされません。 サイト ワークフローで作業している場合は、次の条件のみを使用できます。 (SharePoint Designer 2013 の他のすべての条件はリスト アイテムに対して動作するため、サイト ワークフローでは機能しません)。
[ ある値と値が等しいかどうか]
[ 有効な SharePoint ユーザーかどうか]
サイト ワークフロー内の代理ステップから:
[ リスト アイテムのアクセス許可の確認]
[ リスト アイテムのアクセス許可レベルを確認]
[有効な SharePoint ユーザーかどうか]
条件の詳細については、この記事の「一般的な条件」セクションを参照してください。