

開発用Excelバージョン Excel2013  
※ 特定のExcelバージョンでしか実現できない方法でもかまいません

Excelの指定範囲のセルを画像化するVBAアプリケーションを作成しています。VBAで画像化を行う一般的な方法は、[Range.CopyPicture](https://msdn.microsoft.com/ja-
jp/library/office/ff193594.aspx)を使うことだと思いますが、この場合システムのクリップボードにコピーが行われてしまうため、別のアプリケーションがクリップボードを使用していると、データが上書きされてしまいます。

バックグランドで動作することを前提としているため、そもそもシステムのクリップボードを使うことがあまり行儀がよくないと思いますし、最悪でも排他制御は行いたいのですが、これもどのようにすればよいのかわかりません。

Excelプロセス専用のクリップボードを用意する方法であったり、クリップボードを使用しないでCopyPictureと同じような処理を行う方法はないでしょうか？  
これらが難しい場合、複数アプリケーション間でクリップボードの排他制御を行う方法があればサンプル等提示いただけると助かります。


CC BY-SA 3.0
2017-05-01T05:49:25.277
34400
2021-03-25T01:18:33.663
2017-05-01T06:19:54.440
17238
17238
question
excel vba
Excelセルの画像化をクリップボードを使用しないで行えないでしょうか？