订阅

UiPath 活动

UiPath 活动指南

创建自定义活动

An activity is the building block of a process automation. UiPath Studio comes with various built-in activities, as well as dedicated activities (PDF, mail, Excel) you can install through the Package Manager, depending on your needs. You can read The UiPath Activities Guide for more details and examples, as well as how to Manage Activities Packages. Additionally, you can create custom activities to better automate processes based on your needs.

创建自定义活动需要采取两个主要步骤:

  1. 编写自定义活动代码。
  2. 在 UiPath 中添加外部程序集 (.dll)。

请注意,创建自定义活动需要以下组件:

You can write the code for your custom activity either deriving from CodeActivity or NativeActivity. The two activities look rather similar, but there are differences.

CodeActivity provides an Execute method that can be overridden to have your implementation. It also provides access to tracking, variables, and arguments. You can use the CodeActivity for the following:

  • 简单的自定义活动。
  • 同步活动。
  • 在单一执行脉冲中执行。

NativeActivity provides all the features of the CodeActivity, but also lets you abort the execution of the activity, cancel child activity execution, schedule activities, use bookmarks, as well as activity actions and functions. You can use the NativeActivity for the following:

  • 复杂的自定义活动。
  • 运行较为持久的自定义活动。
  • 在多个执行脉冲中执行。
  • 计划其他活动。
  • 使用高级 WF 运行时功能。

📘

Note:

仅使用“代码活动”创建无需 WF 运行时功能的活动。

编写自定义活动代码

为了更好地理解如何为自定义活动编写代码,我们将创建一个活动,其中会要求用户提供两个数字,然后输出这两个数字之和的平方。

📘

Note:

要为自定义活动编写代码,您需要通过 .NET 桌面开发工作负载来安装 Microsoft Visual Studio

  1. 启动 Microsoft Visual Studio。
  2. 单击“文件”>“新建”>“项目…”(快捷键:Ctrl + Shift + N)。随即会显示“新建项目”窗口。
  3. 单击 Visual C#。随即会显示所有使用 C# 的依赖项。
  4. 您可以选择为自定义活动取一个偏好的名称,并将其填入“名称”字段。本示例中,我们可以使用“MathSquareOfSum”
  5. 选择“类库 (.NET Framework)”并单击“确定”。这会帮助我们将自定义活动导出为 .dll 文件。
  6. 单击“项目”>“添加参考…”
  7. 搜索并选择“System.Activities”和“System.ComponentModel.Composition”参考。
  8. 单击“确定”按钮即可使用来自“System.Activities”和“System.ComponentModel.Composition”参考的类。

此时您只需决定是使用“代码活动”还是“原生活动”。本示例中,我们使用“代码活动”。

  1. 在“using”指令中添加以下代码:
using System.Activities;
using System.ComponentModel;
  1. 为自定义活动编写代码。在我们的示例中,代码应如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Activities;
using System.ComponentModel;

    namespace ClassMathCustomActivity
{
    public class SimpleFormula : CodeActivity
    {
        [Category("Input")]
        [RequiredArgument]
        public InArgument<double> FirstNumber { get; set; }

        [Category("Input")]
        public InArgument<double> SecondNumber { get; set; }

        [Category("Output")]
        public OutArgument<double> ResultNumber { get; set; }

        protected override void Execute(CodeActivityContext context)
        {
            var firstNumber = FirstNumber.Get(context);
            var secondNumber = SecondNumber.Get(context);
            var result = System.Math.Pow(firstNumber + secondNumber, 2);
            ResultNumber.Set(context, result);
        }
    }
}

📘

Note:

我们使用“protected override void Execute(CodeActivityContext context)”代码来覆写执行方法。

Click Build > Build MathSquareOfSum.The Output panel is displayed, informing you that the file is built and displays its path. In our case the MathSquareOfSum.dll file is created.

在 UiPath 中添加外部程序集 (.dll)

创建 NuGet 包

在 UiPath 中添加外部程序集之前,必须先创建“NuGet 包”。

📘

Note:

要创建 NuGet 包,您需要先安装 NuGet Package Explorer

  1. 启动 NuGet Package Explorer。
  2. 单击“创建新包 (Ctrl + N)”。随即会出现一个分割窗口,其中显示“包元数据”和“包内容”。我们需要在窗口的后一部分中添加所有依赖项。
  3. 右键单击“包内容”部分。系统随即会显示一个上下文菜单。
  4. 单击“添加库文件夹”。请注意,系统会在“包内容”部分创建新的“库”项目。
  5. 右键单击“库”并选择“添加现有文件…”
  6. 加载在上述操作中创建的外部程序集 (.dll)。本示例中为“MathSquareOfSum.dll”。
  7. 单击“编辑”>“编辑元数据”。随即会显示“包元数据”部分。
  8. 根据需要填写字段,以更好地描述自定义活动。
  9. 填写“ID”字段。本示例中,该字段可填写为“ActivitiesCustomMathFunction”。

📘

Important!

“NuGet 包”的“ID”字段必须包含关键词“活动”,方可在 Studio 的“管理包”窗口中显示。

  1. 单击“文件”>“保存”。本示例中,我们已创建“ActivitiesCustomMathFunction.1.0.0.nupkg”文件。
  2. 在 UiPath Studio 安装位置 (%USERPROFILE%\.nuget\Packages) 复制“包”文件夹中的文件。包含自定义活动的 NuGet 包现可供加载至 UiPath Studio 中。

📘

Note:

务必为活动创建直观的文件夹结构。与 Orchestrator 一起使用时,系统会删除自定义活动中的所有空文件夹。

在 UiPath Studio 中加载 NuGet 包

Once an activity is created and packed in a .nupkg file, installing it in Studio is done similarly to other activities. Learn more about Installing Packages.

Updated 4 months ago


创建自定义活动


建议的编辑仅限用于 API 参考页面

You can only suggest edits to Markdown body content, but not to the API spec.