- ベストアンサー
Access VBAでクリップボード操作
Accessでクリップボードの操作をしていますが、クリップボード内にデータがあるかないかのチェック方法がわかりません。 ExcelではApplication.ClipboardFormatsが使えるようですが、Acessにはありません。 Accessの場合、エラーを判定しエラーコードで後処理をするサンプルがありましたがそれ以外は方法がないものでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Application.ClipboardFormatsだと形式に関わらずデータの有無を確認できるのでいいですね。 なぜAccessにないのか不思議です。 以下はExcelで使う説明ですがVBA×WindowsAPIなのでAccessでも使えます 【VBA×WindowsAPI】GetClipboardData関数の使い方 https://liclog.net/getclipboarddata-function-vba-windows-api/ ただ、ClipboardFormatsのように全てを一度にというわけにもいかないようで、テキスト・画像・ファイルそれぞれの存在を調べないと駄目っぽいのでエラー処理で処理したほうが楽かもしれません。
その他の回答 (1)
- luka3
- ベストアンサー率72% (424/584)
APIを使えば解決できるだろうと調べていたら、こんなサンプルがありました。 https://okwave.jp/qa/q8621736.html 試しに作ってみましたが、テキストデータがあるかどうかチェックできました。 Dim Clip As Object Set Clip = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") Clip.GetFromClipboard boolHasText = Clip.GetFormat(1) 'CF_TEXT MsgBox boolHasText If boolHasText Then MsgBox Clip.GetText
お礼