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