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ランキング
-
ACCESSのフォームからデータの...
-
Accessのフォーム上にレコード...
-
[至急]accessクエリ結果を入力...
-
「メソッドまたはデータメンバ...
-
Access 別フォームへの再クエ...
-
ACCESSで入力フォームをHTMLフ...
-
Accessフォームのテキストボッ...
-
Accessのフォームに表示...
-
アクセスのフォームのビューが...
-
アクセス2003サブフォームで選...
-
アクセスでテーブルの変更内容...
-
アクセス 0以外をカウントす...
-
Accessのフォームで作業領域を...
-
ACCESSでテーブルから選択,表示...
-
アクセスでの項目追加について...
-
ACCESSでのテキストボックスの...
-
「バインド」、「ドッキング」...
-
オートシェイプのような作図入...
-
ACCESSの表形式で、レコードを...
-
アクセスでのチェックリスト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
選択したチェックボックスのみ...
-
アクセスのフォームのビューが...
-
ACCESSで入力フォームをHTMLフ...
-
Accessのフォーム上にレコード...
-
Access 別フォームへの再クエ...
-
Accessフォームのテキストボッ...
-
accessの自動更新処理をできな...
-
「メソッドまたはデータメンバ...
-
アクセスでテーブルの変更内容...
-
アクセスでの項目追加について...
-
Accessのフォームで作業領域を...
-
Access フォーム上でコンボボッ...
-
アクセス 0以外をカウントす...
-
ACCESSの表形式で、レコードを...
-
Accessのハイパーリンクのパス...
-
ADOでRecordsetオブジェクトを...
-
Access2002 フォームを閉じるた...
-
ACCESSで、フォームのレコード...
-
Access runtimeでテーブル、ク...
おすすめ情報