質問
2017年12月18日月曜日 3:16
お世話になっております。
Excel VBAで、「Officeクリップボード」をすべてクリアする方法がわかりません。
どなたかご存の方、教えて頂けないでしょうか。
「ホーム」タブ>「クリップボード」>「すべてクリア」
この動作をVBAで行いたいです。
マクロの記録をしてみましたが、コードが取得できませんでした。
すべての返信 (6)
2017年12月18日月曜日 8:28 ✅回答済み
こんにちは。
MSAAのコードはバージョンによっては動作しませんので、下記ページで紹介しているUI Automationを使ったコードの方が良いかもしれません。
・Office クリップボードをマクロで操作する(UI Automation)
https://www.ka-net.org/blog/?p=4944
また、どちらにしてもOffice クリップボードを操作する処理は若干複雑になりますので、どうしても必要でなければ、機能を実装しない方向で調整しても良いのではないかと思います。
2017年12月18日月曜日 4:19
以下のページのEvRさんの回答が参考になります。
https://stackoverflow.com/questions/14440274/cant-clear-office-clipboard-with-vba
2017年12月18日月曜日 4:46
下記のリンク先も参考になるかと。
Office クリップボードをマクロで操作する(Office 2007以降)
やっていることは、nomboさんの回答のリンク先と同じようですね。
2017年12月19日火曜日 0:37
nombo様
迅速なアドバイスをありがとうございます。
このやり方が、私の環境ですと成功しなくて、投稿した次第でした。
兎にも角にも、ありがとうございました!
2017年12月19日火曜日 0:38
hatena19様
迅速なアドバイスをありがとうございます!
2017年12月19日火曜日 0:48
きぬあさ様
迅速なアドバイスをありがとうございます。
MSAAのコードは私の環境ですと動作しなくて、
この投稿をする前に、きぬあささんが教えていただいたのと同じページを見つけてまして、
UIAutomationのやり方で実装が成功したのですが(Officeクリップボードが本当に消えてくれたのでとても感動しました)、
参照設定でUIAutomationClientを読み込む際、
UIAutomationcore.dllの配置フォルダがOSの設定から変更出来ない点など(レジストリエディタでも変更出来なかった)、
私自身が利用ユーザー部門へ設定の説明をする点でネックに感じ、
他のやり方がないかなと思い、投稿した次第でした。
>また、どちらにしてもOffice クリップボードを操作する処理は若干複雑になりますので、どうしても必要でなければ、機能を実装しない方向で調整しても良いのではないかと思います。
そうですね、そのように私も思います。
色々とありがとうございました。