とっちゃん@nyanco! です。
RPAアプリ「UiPath」でスクリーンショットを撮影して「現在日時」を含めたファイル名で保存する方法の備忘録です。
やりたい事の概要と完成図
今回作成したいプロジェクトの内容はこんな感じです。
- Yahooのトップページを開く
- 開いたブラウザのスクリーンショットを取得
- スクリーンショットを「任意の文字列+現在日時」というファイル名でデスクトップに保存
完成図はこちら。
作成手順
まずはメニュー「新規」から新規プロジェクトを作成します。
「シーケンス」でも「フローチャート」どちらでも良いですが、今回は「フローチャート」で作成します。
ブラウザーを開く
アクティビティ【ブラウザーを開く】を追加します。
URL入力欄にyahooのアドレスをダブルクォーテーションで囲って入力します。
"https://www.yahoo.co.jp/"
ここで一度メニュー「ファイルをデバッグ」→「実行」をクリックしてみます。
ブラウザが立ち上がりYahooのトップページが表示されたら成功です!
スクリーンショットを撮る
アクティビティ【スクリーンショットを撮る】を追加します。
画面全体をスクショする場合はこのままでOK!
ブラウザのウィンドウだけなど、範囲を指定したい場合は、「画面上で指定」をクリックして任意のウィンドウ、もしくは範囲を選択します。
次に、撮影したスクリーンショットを「変数」に格納する設定をします。
プロパティタブの「出力」→「スクリーンショット」の欄にカーソルを置き、「Ctrl」+「K」を押すと「変数を設定:」と出てくるので、任意の変数名を入力します。
今回は「screenshot」という変数名にしました。
「変数タブ」で、作成した変数の型が「Image」になっているのを確認します。
画像を保存
アクティビティ【画像を保存】を追加します。
上の欄に先ほど作成した「変数名」を入力します。
下の欄には画像を「保存する場所」と「ファイル名+拡張子」をまとめて入力します。
デスクトップに「スクショ」という名前のpngとして保存する場合は以下のようになります。"C:\Users\ユーザー名\Desktop\スクショ.png"
ただこのままだと、このプロジェクトを実行する度にスクショ画像は上書きされてしまい、ログのような使い方はできません。
ファイル名に「現在日時」を含める
ログとしてスクリーンショットを残しておきたい場合は、ファイル名に「現在日時」を含めるようにします。
今回は、「スクショ_年月日_時間」のようなファイル名にします。
やり方としては、現在日時を取得する「Now.ToString(“yyyyMMdd_hhmmss”)」という関数を挿入したい位置に「+」でつなげて記述するだけ。
言葉でいうと難しそうですが、ほぼコピペするだけなので簡単です。
“C:\Users\t\Desktop\スクショ_” + Now.ToString(“yyyyMMdd_hhmmss”) + “.png”
上記の赤字が追加部分です。
「yyyyMMdd_hhmmss」の意味はこちら。
ちなみに不要なものは削除できます。
例えば、「秒」が不要であれば末尾の「ss」を削除して「yyyyMMdd_hhmm」となります。
「年月日」と「時間秒」の間の「_(アンダーバー)」は見やすくするために入れた区切り記号なので、なしでも良いし、別の文字列・記号でもOKです。
ただし、今回は「ファイル名」になるのでファイル名に使えない記号(¥ / : * ? ” < > |)は使用不可ですので注意~。
今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧
コメント