この記事で扱っていること
- クリップボードの操作を行う方法
を紹介しています。
注意:すべてのエラーを確認しているわけではないので、記事の内容を実装する際には自己責任でお願いします。また、エラー配線は適当な部分があるので適宜修正してください。
LabVIEWプログラムに限らず、PCを操作するうえで、コピペを行う機会は多いと思いますが、このときバックグラウンドではコピーした対象のデータをクリップボードに一時的に保持しています。
今回はこのクリップボードのデータを扱うためのプログラムを紹介します。
「ただコピペすればいいじゃん」という操作かと思われるかもしれませんが、プログラム的に強制的に(ユーザーがコピーの操作をしなくても)コピーをさせるという仕組みがあると便利な場合もあるので、知っておいて損はないと思います。
どんな結果になるか
フロントパネルには、クリップボードに書き込む文字を入力する文字列制御器と、その他の文字列制御器、クリップボードの内容を制御器に反映させるためのボタンがあります。

クリップボードに書き込みたい文字を入力しておいて、その状態でクリップボードに保存されるので、あとはボタンを反映させるボタンを押せば、下の文字列制御器に同じ内容が反映されるようになります。

プログラムの構造
クリップボードの操作はインボークノードで行うことができます。

テキストを書き込む、読み取るそれぞれの操作があるので、イベントの内容によって使用するインボークノードを変えます。

画像を扱う場合
クリップボードで扱うのはテキストデータだけでなく画像データも扱えます。
画像をクリップボードに書き込む操作はインボークノードでやれないものの、既に書き込まれている画像をクリップボードから読み取ることはできます。

プログラムもシンプルですが、上で紹介した、テキストに対するクリップボード操作に比べて少しインボークノードの項目が増えています。
下の図のブロックダイアグラムを参考に組んでみてください。
なお、右下部分でピクチャのプロパティとして描画領域サイズに対して書き込みを行っていますが、クリップボードにある画像のサイズに合わせる必要がない場合には特にこの部分は必須ではありません。

本記事では、クリップボードをLabVIEWで扱う方法を紹介しました。
プログラムで実現する「自動化」の仕組みにコピペ操作も加えることができる方法の一つになるので、使おうと思った場面ですぐに使えるように参考になればうれしいです。
ここまで読んでいただきありがとうございました。

コメント