見出し画像

正確に任意の範囲のスクリーンショットを連続で撮る方法

特定の範囲のスクリーンショットを簡単かつ正確に撮ることが求められるシーンがありいろいろ試してみましたが結構むつかしいことが判明。

ショートカットでスクリーンショットをとる方法は数多くありますが、任意の範囲を連続で撮影する場合、特にPower Automate DesktopなどのRPAツールを使用する際には、意外と難しいものです。

一般的に、任意の範囲を指定できるキャプチャーツールでは、毎回マウスでドラッグして範囲を選択する必要があります。これは時間がかかるだけでなく、まったく同じ範囲を正確に指定することが非常に困難です。特に、同じ範囲を何度も撮影する必要がある場合、この問題は顕著になります。

そこでたどり着いたのが、「nircmd」というツールです。nircmdを使えば、コマンドライン引数で任意の範囲を指定してスクリーンショットを撮ることができます。これにより、RPAとの親和性が非常に高くなり、また毎回同じ範囲を正確に撮影することが可能になります。

では、実際にnircmdを使ってスクリーンショットを撮る方法です。

使用するには事前に公式サイトからダウンロードする必要があります。
スクリーンショット以外にもいろいろなWindows の動作をコマンドで実行できるものです。
nircmd.exeがあるところもしくはフルパスで指定し、引数を設定します。

nircmd savescreenshot "screenshot_$currdate.MM-dd-yyyy_$currtime.HH-mm-ss$.png" 500 240 874 647


このコマンドの各部分を説明します:

  1. nircmd savescreenshot: スクリーンショットを保存するnircmdのコマンドです。

  2. "screenshot_$currdate.MM-dd-yyyy_$currtime.HH-mm-ss$.png": ファイル名の指定です。日付と時刻を含めることで、毎回ユニークなファイル名が生成されます。

  3. 500 240 874 647: これらの数字が、スクリーンショットを撮る範囲を指定しています。

    • 500: 左端のX座標

    • 240: 上端のY座標

    • 874: 幅

    • 647: 高さ

このコマンドを実行すると、指定された範囲(座標500,240から幅874、高さ647のエリア)のスクリーンショットが撮られ、日時を含むファイル名で保存されます。

nircmdの素晴らしい点は、これらのパラメータを簡単に変更できることです。例えば、異なる範囲のスクリーンショットが必要な場合は、最後の4つの数字を変更するだけです。

また、このコマンドはRPAツールから簡単に呼び出すことができます。Power Automate DesktopやUiPathなどのRPAツールでこのコマンドを実行すれば、任意の範囲のスクリーンショットを自動的に連続して撮ることができます。

これらの利点により、nircmdは特に自動化やテスト目的でスクリーンショットを多用する場合に非常に便利なツールとなります。マウスでのドラッグによる範囲指定の不正確さや手間から解放され、常に一貫した範囲のスクリーンショットを簡単に撮ることができます。


Power Automateでの組み込み例

この記事が気に入ったらサポートをしてみませんか?