集成警告:无法应用转换,因为搜索条件包含一个或多个未解析的名称
症状
当在集成中使用某个搜索操作并选择正则表达式作为搜索方式时,你会在日志中看到如下警告:
适用环境
BarTender 2019 及更高版本的集成
解决方法/答复
BarTender 在集成中使用 % 来表示变量。命令脚本中有两个这样的变量,%BTW% 和 %END%。如果你的正则表达式(regex)中包含两个 %,BarTender 会把它们之间的内容当作变量,并可能抛出如下警告:“无法应用转换,因为搜索条件包含一个或多个未解析的名称。”
使用通配符
如果可以,尽量避免使用两个 %。如果必须用到两个 % 符号,可以用点号通配符来代替 %。
在上面警告信息中的脚本,你可以去掉一个 % 符号,这样正则表达式就能正常工作:
(%BTW[\s\S]*\/AF=")|(" \/PRN[\s\S]*)
另一个例子,如果你有如下表达式:
(%BTW[\s\S]*END%)\u000D\u000A
BarTender 会认为这两个 % 之间的内容是变量名,而这不是一个合法的变量名,因此会出现警告。
要修正这个正则表达式,可以用点号通配符:
(.BTW[\s\S]*END.)\u000D\u000A
让 BarTender 不使用变量
最简单的方法是在操作中取消勾选“变量”复选框: