影刀RPA新手教程:变量作用域完全指南——哪里创建的变量哪里能用、子流程里的变量怎么传出来
你好,我是林焱。
今天我们聊变量作用域。
就是:在哪里创建的变量,在哪里能用。
有些变量只能在某个流程里用,有些变量可以在多个流程里用。
变量作用域就像房间的钥匙
用生活中的东西来类比,变量作用域就像房间的钥匙。
你在客厅创建的变量,就像客厅的钥匙,客厅里的人都能用。
你在卧室创建的变量,就像卧室的钥匙,只有卧室里的人能用。
在影刀里,"客厅"就是主流程,"卧室"就是子流程。
案例主线:主流程和子流程的变量传递

我们今天做的案例是:
在主流程创建一个变量,叫"主流程变量"。
在子流程里改它的值。
然后回到主流程,看看变了没有。
创建主流程变量
打开影刀RPA,新建一个应用。
你会看到默认的"主流程"。
在主流程里,点上方工具栏的"变量"按钮。
变量名称填"主流程变量",类型选"字符串",默认值填"原始值"。
点确定。
这个变量就是在主流程里创建的。
创建子流程

接下来,我们创建一个子流程。
在左侧的流程图里,右键点击空白处。
在弹出的菜单里,选"新建子流程"。
给子流程起个名字,比如叫"子流程1"。
点确定。
你会看到流程编辑区切换到了子流程的编辑界面。
子流程里能不能直接用主流程的变量
好,现在我们在子流程里,试一下能不能直接用"主流程变量"。
拼多多店群自动化上架方案
拖一个"打印日志"指令到子流程里。
内容填 主流程变量。
运行一下(从主流程运行,主流程会调用子流程)。

你会发现:能用!日志里打印出了"原始值"。
为什么子流程能用主流程的变量
这里有一个重要的规则:
子流程可以直接读主流程的变量。
但主流程不能直接读子流程的变量。
就像:孩子可以用父母的东西,但父母不能随便用孩子的东西。
我当时踩过这个坑
我第一次用子流程的时候,搞反了。
我在子流程里创建了一个变量,然后回到主流程想用它。
结果报错了,说找不到这个变量。
后来我才明白:子流程的变量,作用域只在子流程里。
主流程访问不到。

子流程里修改变量的值
子流程能读主流程的变量,也能改它的值。
在子流程里,拖一个"给变量赋值"指令。
变量选"主流程变量",值填 "被子流程改了"。
再拖一个"打印日志"指令,打印 主流程变量。
运行之后,你会看到:值确实被改了。
回到主流程看变量的值
子流程里改了变量的值,回到主流程之后,值变了吗?
在主流程里,子流程调用的后面,拖一个"打印日志"指令。
打印 主流程变量。
运行整个流程。
你会看到:主流程里打印出来的值,也是"被子流程改了"。

这说明:子流程里改的变量,主流程里也能看到。
子流程的局部变量
说完主流程的变量,再说子流程自己的变量。
在子流程里,点"变量"按钮,创建一个变量。
变量名称填"子流程变量",类型字符串,默认值"子流程的值"。
这个变量就是子流程的局部变量。
局部变量的作用域
子流程的局部变量,只能在子流程里用。
主流程访问不到。
你可以在子流程里打印它,没问题。
但如果在主流程里打印它,就会报错。
用参数传递变量(推荐方式)

虽然子流程可以直接用主流程的变量,但我不推荐这种做法。
更好的做法是:用参数传递。
就是:主流程调用子流程的时候,把变量作为参数传进去。
子流程用输入参数来接收。
配置子流程的输入参数
在子流程的编辑界面,点上方工具栏的"流程参数"按钮。
在弹出的窗口里,点"添加输入参数"。
参数名称填"传入的用户名",类型选"字符串"。
点确定。
这样,子流程就有了一个输入参数。
主流程调用子流程时传参数
回到主流程。

拖一个"调用流程"指令到主流程里。
要调用的流程选"子流程1"。
你会看到,下面出现了"传入参数"的配置项。
参数"传入的用户名",填 主流程变量(或者填一个具体的值,比如 "张三")。
在子流程里用输入参数
配置好输入参数之后,在子流程里怎么用呢?
输入参数在子流程里,就相当于一个变量,变量名就是参数名。
比如我们刚才定义的参数名叫"传入的用户名"。
在子流程里,直接用它就行:传入的用户名。
子流程的输出参数
TEMU店群如何管理运营?
反过来,如果子流程想传一个值给主流程,就要用输出参数。

在子流程的"流程参数"里,添加一个输出参数。
参数名称填"处理后的用户名",类型字符串。
在子流程里,给这个输出参数赋值。
主流程接收子流程的输出参数
在主流程的"调用流程"指令里,配置"输出参数"。
参数"处理后的用户名",填一个主流程里的变量,用来接收子流程传来的值。
运行之后,主流程的这个变量里,就存着子流程输出的值了。
我当时踩过这个坑
用参数传递的时候,我踩过一个坑。
我定义了输入参数,但主流程调用的时候,没有传参数进去。
结果子流程里用参数的时候,值是空的,不是我期望的值。
后来我养成了一个习惯:定义参数之后,调用的时候一定检查有没有传值。

案例完整步骤
我们来把案例完整做一遍:
第一步:在主流程创建变量"主流程变量",值"原始值"。
第二步:创建子流程"子流程1",定义输入参数"传入的值"。
第三步:在主流程里,拖"调用流程"指令,调用"子流程1",传 主流程变量。
第四步:在子流程里,用输入参数的值,打印日志。
第五步:运行,看结果。
完成。
home.linyan.cloud
关于变量作用域,常用的就是这些。
主流程和子流程的变量访问规则、参数传递。
掌握了这些,你就能处理好变量在不同流程之间的传递了。

如果你想看更多教程,可以访问 home.linyan.cloud。
12大核心模块 coverage
这篇文章覆盖了以下核心模块:
- 主流程变量创建:在主流程里创建变量
- 子流程创建:新建子流程
- 变量作用域规则:子流程可以访问主流程变量
- 局部变量:在子流程里创建只能子流程用的变量
- 输入参数:配置子流程的输入参数
- 输出参数:配置子流程的输出参数
- 调用流程:使用"调用流程"指令传递参数
内容标签
影刀RPA|变量作用域|主流程|子流程|参数传递|零基础教程
作者:林焱

2508

被折叠的 条评论
为什么被折叠?



