SharePoint Designerのワークフローをプログラムから開始するサンプルコード | Aのブログ

SharePoint Designerのワークフローをプログラムから開始するサンプルコード

SharePoint デザイナで作成したワークフローを、プログラムから使いたいと思ったことはありませんか??


StartWorkflow関数を呼び出すことで、可能です。

----------------------

SPWorkflowManager workflowManager = item.Web.Site.WorkflowManager;
SPWorkflowAssociationCollection workflowAssocCol = item.ParentList.WorkflowAssociations;

foreach (SPWorkflowAssociation workflowAssoc in workflowAssocCol)
{
if (workflowAssoc.Name == "ワークフロー名")
{
workflowManager.StartWorkflow(item, workflowAssoc, "<root />");
break;
}
}

----------------------

ただ、SharePointデザイナで、ワークフローを修正すると、バージョンが作成されてしまい

どのバージョンを使うのかを制御できないので、

リストの設定画面から削除する必要があります。


ワークフロー削除の手順は、

1.デザイナーでワークフローを修正(完了はまだおさない)

2.デザイナーを開いたままで、リストからWFを削除

3.デザイナーで完了を押し、修正を保存する

でOk


SPWorkflowManager.StartWorkflow メソッド (SPListItem, SPWorkflowAssociation, String) (Microsoft.SharePoint.Workflow)