• ベストアンサー

Access VBAでクリップボード操作

Accessでクリップボードの操作をしていますが、クリップボード内にデータがあるかないかのチェック方法がわかりません。 ExcelではApplication.ClipboardFormatsが使えるようですが、Acessにはありません。 Accessの場合、エラーを判定しエラーコードで後処理をするサンプルがありましたがそれ以外は方法がないものでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.2

Application.ClipboardFormatsだと形式に関わらずデータの有無を確認できるのでいいですね。 なぜAccessにないのか不思議です。 以下はExcelで使う説明ですがVBA×WindowsAPIなのでAccessでも使えます 【VBA×WindowsAPI】GetClipboardData関数の使い方 https://liclog.net/getclipboarddata-function-vba-windows-api/ ただ、ClipboardFormatsのように全てを一度にというわけにもいかないようで、テキスト・画像・ファイルそれぞれの存在を調べないと駄目っぽいのでエラー処理で処理したほうが楽かもしれません。

readme_eml
質問者

お礼

取り急ぎ、ご回答ありがとうございます。 次の休みにでも組み込んで評価してみたいと思います。

Powered by GRATICA

その他の回答 (1)

  • luka3
  • ベストアンサー率72% (424/584)
回答No.1

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

readme_eml
質問者

お礼

取り急ぎ、ご回答ありがとうございます。 次の休みにでも組み込んで評価してみたいと思います。

Powered by GRATICA

関連するQ&A