SDK
最新
バナーの背景画像
開発者ガイド
最終更新日 2024年3月23日

カスタム ウィザードの作成

オフィシャル フィード (https://pkgs.dev.azure.com/uipath/Public.Feeds/_packaging/UiPath-Official/nuget/v3/index.json) から提供される UiPath.Activities.API パッケージを使用して、Studio のリボンに独自のカスタム ウィザードを追加できます。API の使用方法の詳細については、「Studio アクティビティ SDK」をご覧ください。


注: カスタム プロジェクトでは開発依存関係として UiPath.Activities.API パッケージを使用する必要があります。開発依存関係については、こちらをご覧ください。

カスタム ウィザードの作成

以下のサンプルは、クリックすると空のシーケンスを作成するウィザードの定義を示したものです。

using System.Activities;
using System.Windows;
using System.Windows.Input;
using UiPath.Studio.Activities.Api;
using UiPath.Studio.Activities.Api.Wizards;
namespace MyCustomActivityPack
{
    public static class WizardCreator
    {
        public static void CreateWizards(IWorkflowDesignApi workflowDesignApi)
        {
            CreateDemoWizard(workflowDesignApi);
        }
        private static void CreateDemoWizard(IWorkflowDesignApi workflowDesignApi)
        {
            var wizardApi = workflowDesignApi.Wizards;
            var wizardDefinition = new WizardDefinition()
            {
                // You can add other definitions here to create a dropdown.
                //ChildrenDefinitions.Add()
                Wizard = new WizardBase()
                {
                    RunWizard = RunWizard
                },
                DisplayName = "DemoWizardDisplayName",
                Shortcut = new KeyGesture(Key.F9, ModifierKeys.Control | ModifierKeys.Shift),
                IconUri = "Icons/RecordIcon",
                Tooltip = "DemoWizardTooltip"
            };
            var collection = new WizardCollection(); //Use a collection to group all of your wizards.
            collection.WizardDefinitions.Add(wizardDefinition);
            wizardApi.Register(collection);
        }
        private static Activity RunWizard()
        {
            if(MessageBox.Show("Do you want a sequence?", "This is a wizard window", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                return new System.Activities.Statements.Sequence()
                {
                    DisplayName = "The wizard generated this sequence"
                };
            }
            return null;
        }
    }
}using System.Activities;
using System.Windows;
using System.Windows.Input;
using UiPath.Studio.Activities.Api;
using UiPath.Studio.Activities.Api.Wizards;
namespace MyCustomActivityPack
{
    public static class WizardCreator
    {
        public static void CreateWizards(IWorkflowDesignApi workflowDesignApi)
        {
            CreateDemoWizard(workflowDesignApi);
        }
        private static void CreateDemoWizard(IWorkflowDesignApi workflowDesignApi)
        {
            var wizardApi = workflowDesignApi.Wizards;
            var wizardDefinition = new WizardDefinition()
            {
                // You can add other definitions here to create a dropdown.
                //ChildrenDefinitions.Add()
                Wizard = new WizardBase()
                {
                    RunWizard = RunWizard
                },
                DisplayName = "DemoWizardDisplayName",
                Shortcut = new KeyGesture(Key.F9, ModifierKeys.Control | ModifierKeys.Shift),
                IconUri = "Icons/RecordIcon",
                Tooltip = "DemoWizardTooltip"
            };
            var collection = new WizardCollection(); //Use a collection to group all of your wizards.
            collection.WizardDefinitions.Add(wizardDefinition);
            wizardApi.Register(collection);
        }
        private static Activity RunWizard()
        {
            if(MessageBox.Show("Do you want a sequence?", "This is a wizard window", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                return new System.Activities.Statements.Sequence()
                {
                    DisplayName = "The wizard generated this sequence"
                };
            }
            return null;
        }
    }
}
RunWizard を呼び出す前に、MinimizeBeforeRun プロパティにより Studio を最小化し、RunWizard から戻った時点で復元します。
RunWizardAsync プロパティはウィザードを非同期的に実行するために使用してください。

Studio へのプロジェクトの追加

Studio の リボンにウィザードを表示させるには、カスタム アクティビティを NuGet パッケージにパブリッシュして、このパッケージを Studio バージョン 2019.10.1 以降で定義したフィードで利用できるようにする必要があります。

手順 1: NuGet パッケージを作成する


  1. NuGet Package Explorer を起動します。
  2. [Create a new package] (Ctrl + N) をクリックします。[Package metadata] と、[Package contents] を示す分割ウィンドウが表示されます。後者のセクションに、すべての依存関係を追加する必要があります。
  3. [Package contents] セクションを右クリックします。コンテキスト メニューが表示されます。
  4. [Add lib folder] をクリックします。新しい [lib] 項目が、[Package contents] セクションに作成されます。
  5. [lib] を右クリックして、[Add Existing File…] を選択します。
  6. プロジェクトの外部アセンブリ (.dll) を読み込みます。
  7. [Edit] > [Edit Metadata] をクリックします。[Package metadata] セクションが表示されます。
  8. プロジェクトの適切な説明をフィールドに入力します。
  9. [Id] フィールドに入力し、キーワード Activities が含まれていることを確認します。これにより、Studio の [パッケージを管理] ウィンドウにパッケージが表示されるようになります。
  10. Click File > Save. In our case, the .nupkg file is created.
    Note: Be sure to create an intuitive folder structure for your activities. All empty folders inside the custom activity get removed when used with Orchestrator.
手順 2: UiPath Studio に NuGet パッケージをインストールする
.nupkg ファイルを作成したら、こちらの説明に従い、これを Studio のカスタム フィードに追加します。

[パッケージを管理] ウィンドウを開き、パッケージをインストールします。カスタム フィードが Studio で有効化されていることを確認します。

サンプル ウィザード

以下のリンクに従ってサンプルをダウンロードします。このサンプルには、 カスタム アクティビティ設定の例も含まれています。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.