No.2ベストアンサー
- 回答日時:
こんにちは。
#1の回答者です。
>IMEではなくATOKを使っています。
>Excle内だけでこの設定を有効にしたいのですがマクロを使った方法を使いたいと考えています。
念の為に、このようなキーボードスワップを見つけました。
KeySwap for XP
http://www.vector.co.jp/soft/winnt/util/se228667 …
私が、XPで使っていたものは、ソフトウェアごとに設定できましたが、上記のものはつかったことがありません。
以下は、単に、ESCだけを使えなくするプログラムです。
かなり昔に、話の行きがかりで作ったお蔵入りのコードで、いままで公開したことはありません。
その時は、それだけの勢いがありましたが、もう、私は、おなじようなものを作るだけの力は持っていません。設定は、特定のブックに対してでも、個人用マクロブックでも構いませんが、後者につけると、Excelを使う時には必ずESCが利かない状態になります。
本来は、解除用のプログラムもあるのですが、うまく働いていませんので、割愛しました。もちろん、ブックに取り付けたものですから、Excelを終了すれば解除されます。
'標準モジュールを新しく一つ設けてください。
'Auto_Openなど前のがあったら、削除してください。ただし、ThisWorkbook_Open()は構いません。
'実際に使う時は、失敗のErr の時のメッセージだけ残せばよいです。
'//新規の標準モジュール
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function RegisterHotKey Lib "user32.dll" (ByVal hWnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
'Private Declare Function UnregisterHotKey Lib "user32.dll" (ByVal hWnd As Long, ByVal id As Long) As Long 'これは使っていません。
Private Const VK_ESCAPE As Long = &H1B
Private HookFlg As Boolean
Sub Auto_Open()
Call Disabled_ESCAPEKey '起動時に設定
End Sub
Sub Disabled_ESCAPEKey() '設定
Dim rtn As Variant
Dim hWnd As Long
hWnd = FindWindow("XLMAIN", Application.Caption)
rtn = RegisterHotKey(hWnd, 1&, 0&, VK_ESCAPE)
If rtn = 0 Then
MsgBox "Not Success", vbCritical, "Err"
Else
HookFlg = True
MsgBox "Success Hotkey Hooked" 'うるさいかもしれません。
End If
End Sub
'//
No.1
- 回答日時:
こんにちは。
本来、IME側のプロパティのEscの設定が、文字を消去するように設定されているからです。
だから、IME側のキー設定を直せばよいです。
MS IMEなら、ツール-プロパティ-全般=編集操作=キー設定で変更をします。
しかし、Excel内で何かに割り当てというのでしたら、
個人用マクロブックの標準モジュールにこのようなコードはいかがですか?
'//個人用マクロブックの標準モジュール
Sub Auto_Open()
Application.OnKey "{ESC}", "SHOW_TIME" '何も反応させない時は、"{ESC}", "" でリセットになります。
End Sub
'//以下は、動いているかどうかを試すためのものです。
'//ステータスバー(下部左側)に日付と時間が出ます。
Sub SHOW_TIME()
Dim myTime As String
Dim STBtext As String
STBtext = Application.StatusBar
myTime = Format$(Date, "yy/mm/dd") & " " & Format$(Time(), "hh:mm")
If STBtext Like "##/##/##*" Then
Application.StatusBar = ""
Else
Application.StatusBar = myTime
End If
End Sub
'//
再起動するか、Auto_Openを実行すれば、設定が完了します。
IMEではなくATOKを使っています。
Excle内だけでこの設定を有効にしたいのですがマクロを使った方法を使いたいと考えています。
Sub Auto_Open()
Application.OnKey "{ESC}", ""
end sub
というのを試してみましたが、セル内にキーを入力中でない場合には
この機能は有効になるのですが
キーを入力中には無効となっており、
普通にキー入力が強制終了されてしまい使うことができません
どうすれば良いでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 全角文字「ヴ」の半角文字「ヴ」への変換方法について 3 2022/11/05 12:07
- iOS これは日本語入力の大発明ですか? 7 2022/12/21 07:17
- オンラインゲーム apexについて キーボードでデスボックスを漁っている時にescキー以外で漁るのを止める方法はありま 1 2023/05/19 10:30
- Excel(エクセル) セルに入力した小文字アルファベット、数字を大文字表示させるには? 3 2022/07/13 10:01
- タブレット Windowsタブレットの質問です。全画面表示を解除したいです。 タブレットモードにして「PDF X 1 2023/04/18 00:56
- Word(ワード) IMEパッドがショートカットキーで開かないのですが。。。 5 2023/06/11 09:23
- マウス・キーボード 不良表示キー(キーボード) 3 2022/04/27 10:53
- Excel(エクセル) Excel同士のデータの突合 3 2023/08/07 16:34
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- マウス・キーボード キーボード(半角/全角 漢字)のキーから 入力モード 2 2022/11/23 09:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの「塗りつぶし」の色...
-
IE「自動構成スクリプトを使用...
-
wordに常に赤字で訂正を入れる方法
-
ワードで等幅フォント句読点を...
-
Access2010 メール送信が出来ない
-
RAM
-
言語バーにキーボードのアイコ...
-
エクセルでのみ句読点「。」が...
-
ファイル名の先頭文字を入れて...
-
ワード2007 行数を指定をして...
-
オーバーチュアの除外キーワー...
-
Windows10のサウンド設定「Wind...
-
ワードの余白設定を変えたら、...
-
Onenoteの日本語入力
-
メール受信の際に好きな音に設...
-
パソコンを立ち上げたりすると...
-
グループポリシーでメールの設定
-
Wordで2000字のレポート作成
-
ワードでローマ字数字を入力す...
-
テプラは半角数字が使えますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの「塗りつぶし」の色...
-
wordに常に赤字で訂正を入れる方法
-
エクセルでのみ句読点「。」が...
-
RAM
-
IE「自動構成スクリプトを使用...
-
ワードで等幅フォント句読点を...
-
Access2010 メール送信が出来ない
-
スペースキーで変換ができません
-
Googleカレンダー 詳細時刻指定...
-
原稿用紙の設定
-
ExcelのEscキーを無効にする
-
windows 10 表示言語を日本語か...
-
Wordで2000字のレポート作成
-
(1)パソコン立ち上げたとき最初...
-
ファイル名の先頭文字を入れて...
-
ワードで200字詰にはどうし...
-
分割禁則の設定方法
-
メール受信の際に好きな音に設...
-
言語バーにキーボードのアイコ...
-
Microsoft Word で位置揃え
おすすめ情報