Access2007について質問します。
フォームに表示された情報をコピー禁止にしたいというのが目的です。
[CTRL]+[C]の禁止、右クリックメニューのコピーを禁止する
ということが具体的な方策となると思います。
[CTRL]+[C]の禁止は、起動時の処理で禁止にできます。
右クリックメニュー(ショートカットメニュー)も既定のものではなく、カスタムにすれば可能なのですが、既定メニューにあるフィルター等のコピー以外のメニューは既定のままにしておきたいのです。
それで質問となりますが、
既定の右クリックメニューで、コピーだけを外す(使用不可にする)ことが可能なのでしょうか?可能であるならばそのやり方を。
または、
カスタムメニューの作成で、既定メニューのようなものを作成することが可能なのか?フィルターも数値、テキストとフィールド定義に基づいて自動的に判断し表示されているようです。
以上です。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
Access2007は持ち合わせておりませんので、別のアプローチを
http://www.loadsystem.net/api/lsapi15.txt
こちらを利用して、マウスボタンクリック時とキークリック時イベントに
ClearClipBord_Data としてはどうでしょう?
フォームのプロパティの『キーボードイベント取得』は、はいにしておいて。
ユーザーが何かする度に空にしてしまう・・(^^ゞ
Sub ClearClipBord_Data()
If OpenClipboard(0) Then
EmptyClipboard
CloseClipboard
End If
End Sub
※APIに関して私は全くの門外漢ですので、質問には答えられませぬ。
Win XP & Access2002 にて検証。
この回答への補足
nicotinismさん。
もしおわかりになればと思いましてお尋ねいたします。
標準モジュールに、教えていただいたサブモジュールを設定したのですが、
OpenClipboard
EmptyClipboard
CloseClipboard
がいずれも「定義されていません」とエラーになってしまいます。
リンクされていた場所にあった、以下の記述をとってきて
Declare Function OpenClipboard Lib "User32" (ByVal hWnd As Long) As Long
Declare Function CloseClipboard Lib "User32" () As Long
Declare Function EmptyClipboard Lib "User32" () As Long
を別途定義したのですが、OpneClipboardはそれで通ったのですが、EmptyClipboard、CloseClipboardはやはり定義されていないとでてしまいます。
この辺の知識が未熟で、不勉強なためよくわかっておらず、ネットで検索してもいまひとつわかりません。
何かアドバイスがありましたらお願いします。(こういうことを勉強しなさいみたいなことでもかまいません)
nicotinismさん。
ありがとうございます。
以前、プリントスクリーンを防止する際に考えたことがありましたが、その時は具体的にどうやるのかわからずにあきらめてしまいました。
簡単にできるんですね。やってみますね。
No.2
- 回答日時:
こちらの環境では問題なく動きましたけど?
新規MDBの標準モジュールの内容です。
試しに、Windows XP でAccess2010のMDBとACCDBでも大丈夫でしたよ。
Option Compare Database
Option Explicit
Declare Function OpenClipboard Lib "User32" (ByVal hWnd As Long) As Long
Declare Function CloseClipboard Lib "User32" () As Long
Declare Function EmptyClipboard Lib "User32" () As Long
Sub c1()
If OpenClipboard(0) Then
Call EmptyClipboard
Call CloseClipboard
End If
End Sub
この回答への補足
nicotinismさん
ありがとうございます。
再度、行ってみたら通りました。
これにより、プリントスクリーンという大物が使用不可になり、喜んでおりますが、右クリックによるコピーがなぜか生きたまま、ということはクリップボードのデータがクリアされていない、という状況です。
マウスクリックを、クリック時、移動時、解放時の全てでプロシージャーを呼び出したのですが、クリアされないんです。
何か設定が悪いのかもしれないので、もう少し見てみます。
大変勉強になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) [貼り付けオプション]とは? 3 2022/04/17 08:15
- Windows 10 Windows10パソコン右クリックメニューで「切り取り」と「コピー」を選択し間違わないようにしたい 3 2022/04/16 10:35
- 法学 独占禁止法またはその他関係する法律の適用に関する質問です。 私が働いている施設では複数の飲食店(個人 4 2022/04/16 13:15
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- docomo(ドコモ) 通話録音が(最初から)自動的に始まるアプリは? 7 2023/01/16 15:53
- Access(アクセス) Accessで独自メニューバーまたはリボンを作成したい 1 2022/12/02 14:31
- デスクトップパソコン PCでファイルを右ドラッグして出てくるメニューの編集方法を教えて下さい 2 2023/01/17 13:31
- その他(法律) 著作権に詳しい方、教えてください。 習い事をしているのですが、その習い事に興味があるという友人に、習 3 2023/01/15 23:45
- その他(法律) ポスティング業務委託について 1 2023/06/02 11:04
- 発達障害・ダウン症・自閉症 「密閉した教室の人酔いに耐えきれず心的外傷を負う」ということはほとんどないのでしょうか? 0 2022/06/30 20:17
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのフォーム上にレコード...
-
アクセスでテーブルの変更内容...
-
アクセスのフォームのビューが...
-
Accessフォームのテキストボッ...
-
Access2007 フォーム上データの...
-
ADOでRecordsetオブジェクトを...
-
Access 別フォームへの再クエ...
-
ACCESSのフォームからデータの...
-
Access フォーム上でコンボボッ...
-
access 非連結のサブフォームの...
-
access レコードソースを選択...
-
accessの自動更新処理をできな...
-
ACCESSフォームでのレコード数...
-
ACCESS レポートへの表示・非表示
-
「メソッドまたはデータメンバ...
-
アクセスでの項目追加について...
-
Access2000で起動時にフォーム...
-
他フォームのチェックボックス...
-
ACCESSで入力フォームをHTMLフ...
-
選択したチェックボックスのみ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
Accessのフォーム上にレコード...
-
選択したチェックボックスのみ...
-
アクセスでテーブルの変更内容...
-
アクセスのフォームのビューが...
-
accessの自動更新処理をできな...
-
Access 別フォームへの再クエ...
-
Accessフォームのテキストボッ...
-
ACCESSで入力フォームをHTMLフ...
-
「メソッドまたはデータメンバ...
-
帳票フォームに全レコードを表...
-
テキストボックスの値をテーブ...
-
アクセス 0以外をカウントす...
-
テキストボックス(アクセス)内...
-
Access2002 フォームを閉じるた...
-
アクセスでの項目追加について...
-
Access フォーム上でコンボボッ...
-
Accessのフォームで作業領域を...
-
入力途中の入力した値をすべて...
-
ACCESSの表形式で、レコードを...
おすすめ情報