UiPath 执行VBA代码Selection.Copy复制不生效

Range("A1:B3").Select

Selection.Copy

这两句代码在excel中执行,可以正常把单元格内容拷贝至剪切板中。

但是在Excel Application Scope=>Invoke VBA中,

Range("A1:B3").Select生效;

Selection.Copy执行不生效……

 

经过排查,是Excel Application Scope的AutoSave属性导致。

Excel Application Scope会默认选中AutoSave,取消AutoSave勾选,即可让Selection.Copy生效。

在Excel中,ctrl+c复制了单元格后,ctrl+s保存excel,也会导致之前的复制内容失效。

UiPath 执行VBA代码Selection.Copy复制不生效

 

 

更多的尝试和探究:

默认AutoSave勾选。

UiPath 执行VBA代码Selection.Copy复制不生效

在Invoke VBA后,放置一个log message,并在该活动上,F9设置断点,重新调试,

发现执行到log message 停住时,Excel Application Scope并未触发AutoSave。Excel Application Scope会在Scope结束时触发。

这里未触发保存,但是Selection.Copy依旧未生效。

很奇怪……

 

上一篇:VBA输出指定字段并保存为CSV


下一篇:将多个相同工作簿内容复制汇总到一个工作簿VBA代码