UiPath Studio 中文文档

【UiPath Studio 中文文档】创建自定义 Activi

2018-09-04  本文已影响623人  Creator_蔚蓝

活动 (Activity) 是流程自动化的基石。 UiPath Studio 自带了大量内置的 Core Activities(核心活动),你还可以根据你的需要,通过 Package Manager 安装一些专用的活动(如处理 PDF,Mail,Excel 等)。你可以阅读 The UiPath Activities Guide 了解更多细节和例子,以及知道怎样管理活动包(Manage Activities Packages)。另外,你可以根据你的需求来创建自定义活动实现自动化流程。

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

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

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


你可以编写继承自 CodeActivity 或者 NativeActivity 的自定义活动。这两类活动看起来很相似,但是它们是不一样的。你可以从 这里 查看一个详细的 NativeActivity 例子。

CodeActivity 提供了一个 Execute 方法,该方法可以被重写来作为你的实现。它还提供了对跟踪、变量和参数的访问。您可以将 CodeActivity 用于以下方面:

NativeActivity 提供了 CodeActivity 的所有功能,而且允许你终止活动的执行,取消子活动的执行,调度多个活动,使用书签,以及活动动作和函数。您可以将 NativeActivity 用于以下方面:

注意:
只有使用 CodeActivity 来创建活动时不要求 WF Runtime 的兼容性。


编写自定义活动的代码

为了让你更好地理解怎么编写自定义活动的代码,我们将会创建一个活动,向用户请求两个数字,然后输出其平方的总和。

注意:
为了编写自定义活动,你需要安装 Microsoft Visual Studio 以及 .NET 桌面开发组件

新建项目
  1. 启动 Microsoft Visual Studio

  2. 点击 File > New >Project……(快捷方式:Ctrl + Shift + N)。将会显示 New Project 窗口

  3. 点击 Visual C#.将会显示使用c#的所有项目模板的列表。

  4. (可选),为你的自定义活动填写合适的名称到 Name 字段。在这个例子中,我们使用 "MathSquareOfSum" 这个名字

  5. 选择 Class Library (.NET Framework) 并点击 OK。这有助于我们将自定义活动导出为.dll文件。

  6. 点击 Project > Add Reference….

  7. 寻找 System.ActivitiesSystem.ComponentModel.Composition 并勾选它们。

  8. 点击 OK 按钮。这使得使用来自 System.ActivitiesSystem.ComponentModel.Composition 的类成为可能。

cad03e5-add-references.gif

现在你可以决定使用 CodeActivity 还是 NativeActivity。在这个例子中,我们使用 CodeActivity。

  1. 在 Using 指令中,添加下面的代码
using  System.Activities; 
using  System.ComponentModel;

10.编写自定义活动的代码。在我们的例子中,它需要看起来像这样:

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);
   }
 }
}

注意
我们使用 protected override void Execute(CodeactivityContext) 代码来覆盖 Execute 方法。

点击 Build > Build MathSquareOfSum****。将会显示Output面板,通知您文件已经生成,并显示它的路径。在本例中,创建了 MathSquareOfSum.dll 文件。


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

在 Uipath 中添加外部程序集之前,首先需要创建 Nuget 包。

  1. 启动 NuGet Package Explorer。

  2. 点击 Create a new package (Ctrl + N) 。将显示一个拆分窗口,它显示 Package metadataPackage contents。我们需要在后面添加所有依赖项。

  3. 右击 Package contents 部分,将会显示一个上下文菜单

  4. 点击 Add lib folder。注意到,将在 Package contents 创建一个 lib

  5. 右击 lib 并选中 Add Existing File ……

  6. 加载上面创建的外部程序集(.dll)。在这个例子中,应该为MathSquareOfSum.dll.

  7. 点击 Edit > Edit Metadata。将会显示 Package metadata部分。

  8. 填写您认为合适的字段,以便更好地描述您的自定义活动。

  9. 填写 id 字段。在这个例子中,可以是 ActivitiesCustomMathFunction

非常重要!

NuGet 包的 id 字段必须包含关键词 Activities 才能显示在 UiPath Studio 的 Manage Packages 窗口中

  1. 复制上述打包后的文件到 Uipath Studio 安装位置的 Packages 文件夹中。包含你自定义 Activity 的 Nuget 包现在已经准备好,可以在 UiPath 中加载了。

注意:
必须为你的活动创建一个直观的文件夹结构。在 Orchestrator 中,在自定义活动中所有的空文件夹都会被移除。

在 UiPath Studio中加载 NuGet 包(自定义Activity)
e55d3a2-adding-custom-activity-in-studio.gif

活动一旦被创建并打包成 .nupkg 文件之后,在Studio中安装它与其他活动类似。了解有关 Adding your own Packages 的更多信息。

官网原文链接


更多 UiPath 相关的资讯,请关注公众号:UiPath教程
由于简书禁止直接在文章中插入公众号二维码,请点击 这里 了解添加该公众号的细节。

上一篇下一篇

猜你喜欢

热点阅读