エクセル操作(ドラッグ&ドロップ)

excel

#1

エクセルでの計算処理について、
セルのドラッグで連続した計算処理を行いたいのです。
計算はABSの引き算です。

できませんでしたが試してみたのは、writecellで計算式「=ABS(C2-E2)」を書き込んで、sendhotkeyで、ctrl+c、ctrl+shift+end、ctrl+vです。

ご教授のほど宜しくお願い致します。


#2

解決しました、お騒がせ致しました。

一応解決方法を記載しておくと、
ctrl+cのアクティビティの前に、ctrl+gでセルの選択が必要でした。
またsysytemのエクセルアクティビティではなく、excelscope内でのアクティビティでないとエラーが出ました(原因はわからない)


#3

またsysytemのエクセルアクティビティではなく、excelscope内でのアクティビティでないとエラーが出ました(原因はわからない)

こちらはSend Hotkeyの対象を選択していなかったのが原因かと思います。
Excel Application Scope内では、処理対象を選択しないと、自動的にExcelのウィンドウが対象になります(これはAttach Browser等、ブラウザのスコープでも同じです)

Excel Application Scopeの外でやるのであれば、Send Hotkeyの処理対象をきちんと設定してやる(Indicate on screenで選ぶ、Ui Explorerで作成したセレクタを設定する)ことで改善できると思います。


#4

こんにちは

またsysytemのエクセルアクティビティではなく、

これはSystem - File - Workbook -Write Cell を使ったということでしょうか?
そうであれば、System- File -Workbook 以下のアクティビティは(Office PIA経由で)EXCELを操作するのではなく、サードパーティライブラリを用いてファイルベースでアクセスするので、当該ファイルが他のアプリケーション(Excel Application Scope内での利用を含む)で使用されていてロックされているとIOExceptionの例外が発生します。
App integration - EXCEL以下のアクティビティはEXCELを経由した操作になりますので、Excel Application Scopeで自身で開いたファイルはもとより、すでにEXCELでファイルを開いていてもアクセスが可能です。


#5

>Honoka、Yoichi

ご回答ありがとうございます。
何とかやり方がわかっても、要因がわからないことが多々ありますので非常に勉強になります。