スクリーンショットを作成→貼り付け

いつもお世話になっております。

スクリーンショットを作成を「処理①.xaml」でし、
貼り付けを「Main.xaml」でしたいと思います。

「処理①.xaml」で「スクリーンショットを作成」を配置し、出力をout_スクリーンショットというUipath.core.image型の引数にしています。

「Main.xaml」で引数をインポートを以下のようにしています。
image

そして「メソッドを呼び出し」→「エクセルアプリケーションスコープ」→「範囲を選択」→「ホバー」→「ホットキーctrl+v」→「ブックを保存」を配置しています。

メソッドを呼び出しのパラメーターは
image

しかし、以下のようなエラーが出ます。
image

メソッドを呼び出しのパラメーターが間違っているのかなと思うのですが、どう直したらよいかわかりません。
よろしくお願いいたします。

1 Like

ありがちなのは、「引数」に定義した、同じ名前の変数が、「変数」に存在してしまっている事ですね。

同じく、出来ませんでした。
引数、散々見直しました。

メソッドを呼び出しのプロパティ
非同期に実行、のチェックを外したら問題なく動きました。

理由は詳しい方の説明待ちをしたいと思います。
勉強になりました。ありがとうございます。

クリップボードは意外と処理に手間がかかるようで、取得した後に数秒入れてみるのも手かもしれませんでした。。。

画像系のアクティビティを作成した時、クリップボード領域初期化したのちすぐさま利用しようとした時にエラーが起きる場合があって。。。
クリッポボード初期化したあとに、クリップボードへの内容を生成し、改めて利用したら安定した事がありました。

手助けにならなくてすみません<m(__)m>

他のコメントを待って、しばらくしてから解決済にチェックお願いしますね、

ちょっとサンプル作ってみました。
2020.10 Community 版でつくったのでアクティビティが色々と違うかもしれませんが、
参考まで。
https://github.com/yukino-kawahara/ScreenshotSample/archive/master.zip

・・つか、UiAutomationNext.Activtiesってまた使い勝手が変わったなぁ・・・。

2 Likes

はなっちさん、いつもありがとうございます。助けにならないなんて、とんでもないことです。
引数はなかなか難しいです。
私の手元では待機1秒ではエラーとなったのですが、そこは各環境に合わせて、と言ったところなのでしょうか。

回答ありがとうございます。

確認したところ私の場合、メソッドを呼び出しのプロパティ
非同期に実行、のチェックは最初から入っていない状態でした。

デバッグで確かめたところ「処理①.xaml」では引数out_スクリーンショットに値が入っているのですが、「Main.xaml」に戻ると変数スクリーンショットはnullになってしまいます。

ご教授よろしくおねがいします。

なるほど。メソッドを呼び出しのパラメータやその他部分の変数の型、imageの詳細が違うんですかね?

手元では、処理①引数、出力、Uipath.Core.Image
Main側の変数も同じ型で、Uipath.Core.Image

Invokeの引数をインポートで繋げる時も同じ型

メソッドを呼び出しのパラメータの時だけSystem.Drawing.Image
値はMainで作成した変数

型とは関係ないのですが、気になりました。
アクティビティはスクリーンショットを撮る、TakeScreenshotとは別物なのでしょうか?

回答ありがとうございます。

アクティビティは
image
この、「スクリーンショットを作成」を使って撮ってます。

型はpokeさんが言われている通りになっています。

こんにちは

まず
ワークフローファイル呼び出しで分離プロパティはオフになっていますでしょうか?

あと参照渡しの問題のようにも見えるので
一度スクリーンショットをとるワークフローでの引数をOUT型からIN/OUT型にして
実行してみてはと思います。

1 Like

回答ありがとうございます。
分離プロパティはオフになっていたので、引数をOUT型からIN/OUT型にしたところ成功しました。

みなさま、今回も本当にありがとうございました。

3 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.