スクリーンショットの貼り付け

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

ポップアップ画面が出たら、スクリーンショットを取り、とあるエクセルのB4に貼り付けたいです。

ネットなどで調べたのですが、よくわからなかったので教えてください。
現状は
1.スクリーンショットを作成
出力:スクリーンショット

2.メソッドを呼び出し
TargetType:System.Windows.Forms.Clipboard
MethodName:SetImage

3.エクセルアプリケーション
セルに書き込み:スクリーンショット

にしていますが、変数スクリーンショットはイメージ型なのでセルに書き込みにおけません。.tostringにしてもだめでした。

あとメソッドを呼び出しの使い方が分からず、間違っているのではと思っています。

よろしくお願いいたします。

イメージをクリップボードに上げたら、セルに書き込みに書き込みではなく、Send Hot KeyでCtrl + vで張り付けて。。。ではどうでしょう?

1 Like

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

はなっちさんのおっしゃっていることはこういうことでしょうか?

試しにこれで実行してみたのですが、何も貼り付けられませんでした。なぜでしょうか??

あと、セルのB4から画像を貼り付けたいのですがSend Hot Keyを使いCtrl + vではどのように指定したらよいのでしょうか?

をしている前提でした。

セルへの位置づけは、「範囲を選択」アクティビティでシート名と”B4"を設定すれば可能です

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

メソッドを呼び出しにエラーマークがあり、「クリップボードにはinvokemethod メソッドを呼び出し に指定されたパラメーター型、ジェネリック型引数、およびジェネリック型制約と一致するSetImageという名前のパブリックstaticメソッドがあります」という文言が出ます。
image

メソッドを呼び出しのプロパティでなにかほかに設定しないといけないところなどあるのでしょうか。

よろしくお願いいたします。

1 Like

お世話になっております。

調べた結果「スクリーンショットを作成」の出力に変数ダミー(uipath.core.image型の変数)を置き、上にある状態の「メソッドを呼び出し」のパラメーターで方向を入力にし、型をSystem.Drawing.Imageにし、値をダミーとしたところクリップボードにはコピーされているのですが、貼り付けがうまくいきません。
人間がCtrl + vを押すと張り付くのですが、なぜでしょうか。
ホットキーを押下のプロパティなどのアドバイスがありましたら、お願いいたします。
ちなみに貼り付けるエクセルファイルは毎回ちがうファイルです。

こんにちは。横からで失礼します。

手元の環境(Excel2013)でちょっと試してみましたが、ホットキーCtrl+Vはセレクター指定してないと
空振りするっぽい感じですね。

そちらのExcelのバージョン次第(2016以前/以降)で設定すべきセレクターは変わりそうですが、いくつでしょう?

1 Like

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

エクセル2016です。

こんにちは。
程よい課題をありがとうございます。

貼り付け部分について記述します。

Excelスコープアプリケーションの中に
範囲を選択、で適当なセルを指定
ホバー、でシート名またはシートそのものを指定
ホットキーを押下、で貼り付け
ブックを保存

ここまでする必要はないかもしれませんが、これで出来ました。

1 Like

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

ホバーは「マウスをホバー」が最適なのでしょうか?

現状は「マウスをホバー」でセレクターを指定して、書き込むエクセルファイルは毎回違うため、ワイルドカードで置き換えました。またエクセルアプリケーションは可視にチェックが入っていないと使えなかったのでそこもチェックをいれました。

ただ、可視なので明らかに貼り付けているところは確認できるのですが、処理が終わった後ファイルを開くと画像がありません(なぜ?)
エクセルアプリケーションの「変更を保存」にもチェックを入れています。
他になにか設定がたりていないところがあるでしょうか?
よろしくお願いいたします。

アプリケーションスコープの中の一番下にブックを保存、は入れていますか?

入れ忘れてました。

入れたら、無事できました!

みなさまご教授大変ありがとうございました。

2 Likes

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