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


Range("A1:B3").Select

Selection.Copy

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

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

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

Selection.Copy执行不生效……

 

VBA在执行Copy后,任何操作都可能会导致Copy的失效。

一般情况下,如果是从excel粘贴到excel,一般会直接在Copy 后面接Range。

但是,我的需求场景是粘贴到网页上。

 

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

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

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

 

 

更多的尝试和探究:

默认AutoSave勾选。

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

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

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

很奇怪……

 

另外,之前我在其他项目中,也未取消勾选AutoSave,也不会存在这个问题。

一个玄学。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM