プロが教えるわが家の防犯対策術!

助けてください。
現在、エクセル2003のVBAで開発をしています。

ctrl+Z や CTRL+Y のようなショートカットキーを無効にしたいのですが
方法がいまひとつ解かりません。
どなかた、初心者にも理解できるレベルで説明願えないでしょうか。

よろしくお願いいたします!

A 回答 (3件)

ダミーの関数(中身は空)を作成して、マクロのショートカットキーを割り当てたら無効にできました。



例えばこんなダミー関数を作成。

sub CtrlZ
end sub

メニューの [ツール]-[マクロ]-[マクロ] から CtrlZ に Ctrl+z を割り当てる。
この方法が一般的かはわかりません。

この回答への補足

ワークシートだと確かに無効に出来ましたが、VBAでは無効になりませんでした。
お忙しいところ申し訳ありませんが、出来ましたらもう少し詳しくご説明お願いします。

補足日時:2005/09/06 11:37
    • good
    • 0

無効:Application.OnKey "{F1}", "" 


有効(初期値に戻す):Application.OnKey "{F1}"
マクロ設定:Application.OnKey "{F1}", "マクロ名" 

の方法で、ショートカットのコントロールが可能です。

参考URL:http://www.excel7.com/chotto10.htm

この回答への補足

言葉が足りなくて申し訳ありません。
エクセルのワークシートでは無く、フォームでのショートカットキーの操作を無効にしたいのです。
良い方法がございましたらお教え願えますでしょうか?

補足日時:2005/09/06 13:25
    • good
    • 1
この回答へのお礼

残念ですがオペレーションで対応することにしました。
回答ありがとうございました。

お礼日時:2005/09/06 17:14

#1です。



>ワークシートだと確かに無効に出来ましたが、VBAでは無効になりませんでした。

VBAでは、というのが良くわかりません。
フォーム上で、とかそういうことでしょうか?
それとも Visual Basic Editor 上でってことですか?
補足お願いします。

この回答への補足

言葉が足りなくて申し訳ありません。
ttyp03氏のおっしゃるとおり、フォーム上でということです。
application.onkey = "^Z" , "" も試しましたが、これもワークシート上でのみしか効きませんでした。

補足日時:2005/09/06 13:06
    • good
    • 0
この回答へのお礼

残念ですがオペレーションで対応することにしました。
回答ありがとうございました。

お礼日時:2005/09/06 17:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています