knowledge 【注意点】「クリップボード」アクションはコピーの終了・コンテンツのセットの完了を待たずに次に進む

本記事では、「クリップボード」アクションを使用する場合の注意点について記載します。

「クリップボード」アクションにおける「コピー」「セット」などのアクションは非同期処理です。
そのため、それらのアクションの終了はあくまでも「コンピューターに対する指示の完了」であり、「コピーの完了」「クリップボードへのコンテンツのセット完了」を意味するものではありません。

つまり、以下のようなコードの書き方だと、変数に何も取得されない可能性があります。

<AMVARIABLE NAME="var_content" />
<AMCLIPBOARD ACTIVITY="copy" />
<AMCLIPBOARD ACTIVITY="get" RESULTVARIABLE="var_content" />

以下のコードだと、何も貼り付けされない可能性があります。

<AMCLIPBOARD ACTIVITY="set" VALUE="あいうABC" />
<AMCLIPBOARD ACTIVITY="paste" />

回避するには、クリップボードに対するコンテンツのセット・およびコンテンツの取得までの間に、「Wait」をおきます。
以下のようにします。(Wait秒数は目安です)

<!--コピー→取得-->
<AMVARIABLE NAME="var_content" />
<AMCLIPBOARD ACTIVITY="copy" />
<AMWAIT SCALAR="200" MEASURE="milliseconds" />
<AMCLIPBOARD ACTIVITY="get" RESULTVARIABLE="var_content" />
<!--貼り付け-->
<AMCLIPBOARD ACTIVITY="set" VALUE="あいうABC" />
<AMWAIT SCALAR="200" MEASURE="milliseconds" />
<AMCLIPBOARD ACTIVITY="paste" />

クリップボードアクションを利用する際は、上記の注意点にご留意ください。

検索用キーワード:clipboard