帮助中心
快速寻找答案
首页>帮助手册>

变量名为何会自动改变

是否在其他地方更改了变量名?

问题提出

影刀引用变量时,会在两种模式下引用:Python 模式与非Python 模式。Python 模式指的是是点亮 Python 图标的情况,非 Python 与之相反。大多数情况我们会直接使用非 Python 模式,少部分情况,比如变量的四则运算或者需要 Python 内置的函数时会使用 Python 模式。

这两种模式初次引用变量没有问题,但是在后期更改设置变量处的变量名时,非 Python 模式会自动更新,Python 模式不会自动更新。因此在后期维护程序时应引起注意,避免发生类似的错误,发现错误也能快速归因。

下面来看一个实例:第一个填写输入框使用非 Python 模式,第二个填写输入框使用 Python 模式。

  • 主体程序

  • 第一个填写输入框

  • 第二个填写输入框

更改设置变量处的变量名后,第一个输入框处随之更改,第二个输入框处没有更新。

是否复制了指令

概述

变量引用问题中讲到非 Python 模式引用的变量会随着设置变量处的更改而更新,本问要讲到的问题也是因为这一条设定引起:

使用复制黏贴的快捷方式设置新变量时会发生非预想的变量更改情况!

该问题在编写程序的时候经常会在不经意间出现,因为是非预想的情况,会增加大家查错难度和维护时间。下面通过具体例子讲解:

  • 原程序:第一个填写输入框使用非 Python 模式,第二个填写输入框使用 Python 模式。

  • 通过复制黏贴的方式设置新的变量,可以发现非 Python 模式的变量随之更新,Python 模式没有更新。然而其实我们并不想变量更新,因为他本来引用的是原变量,跟新变量没有任何关系,所以说这是超出预想的情况。

如何解决

  1. 如果是初次编写程序,那么可以使用复制黏贴的方式先设置好全部的变量,再在下方做引用操作,这样每一步都是明确的引用,不会发生超出预想的情况
  2. 如果是后期维护,不得不插入新变量,那么千万不要使用复制黏贴的方式设置新变量,否则会花许多的时间维护。请在指令栏拖拽新的设置变量指令

其他情况

除了【设置变量】指令,程序中经常会用到的【打开网页】、【获取已打开网页对象】、【启动Excel】指令,有时候会使用复制黏贴的方式打开新的网页、启动新的 Excel,这时候也会出现前边提到的问题。 因为这些方法也会返回对象,返回对象也是一个变量!可以发现使用复制的方式出现了同样的问题:解决方案:在指令栏拖拽新的相关指令!

web_page、excel_instance 是我们在编写程序的时候高频使用的对象名,所以这两类情况大家要特变注意,以防发生意外,增加不必要的维护时间。

问题没有解决?去社区提问