次の方法で共有


Excel2013 VBA Officeクリップボード すべてクリアする方法を教えてください

質問

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 クリップボードを操作する処理は若干複雑になりますので、どうしても必要でなければ、機能を実装しない方向で調整しても良いのではないかと思います。

そうですね、そのように私も思います。

色々とありがとうございました。