• 締切済み

CapsLockを特定の部分だけオンにする

matsu_junの回答

  • matsu_jun
  • ベストアンサー率55% (146/265)
回答No.2

Excelのマクロは使えますでしょうか? 以下の方法をお試しください。 1) 目的のブックを開きます。 2) Alt + F11キーを押して、Microsoft Visual Basicを開きます。 3) 開いたMicrosoft Visual Basicの左側、「プロジェクト-VBAProject」に   シート名が何かエクスプローラーのようになっていると思いますが、   その中の目的のシート名が書かれている部分をダブルクリックします。   右側が灰色から白くなり、文字を入力することができるようになります。 4) 目的に応じて、下のA)、B)いずれかをコピーして貼り付けてください。 A) 特定のシートだけCapsLockをオンしたい場合 'ここから-------------------------------------------------------------------------- Private Declare Function GetKeyboardState Lib "User32" (pbKeyState As Byte) As Long Private Keys(0 To 255) As Byte Private Sub Worksheet_Activate()   GetKeyboardState Keys(0)   If CBool(Keys(&H14)) = False Then     SendKeys "+{CAPSLOCK}"     Application.SendKeys "+{CAPSLOCK}"   End If End Sub Private Sub Worksheet_Deactivate()   GetKeyboardState Keys(0)   If CBool(Keys(&H14)) = True Then     SendKeys "+{CAPSLOCK}"     Application.SendKeys "+{CAPSLOCK}"   End If End Sub 'ここまで-------------------------------------------------------------------------- B) 特定のセルだけCapsLockをオンしたい場合(下の例ではセルA1になっています) 'ここから-------------------------------------------------------------------------- Private Declare Function GetKeyboardState Lib "User32" (pbKeyState As Byte) As Long Private Keys(0 To 255) As Byte Private Sub Worksheet_SelectionChange(ByVal Target As Range)   Dim FCaps As Boolean   FCaps = True '下の行にCapsLockをしたいセルA1が指定されています。 '変更したい時は、絶対参照($付き)で、かつ列名は大文字で指定します。   If Target.Address = "$A$1" Then FCaps = False   GetKeyboardState Keys(0)   If CBool(Keys(&H14)) = FCaps Then     SendKeys "+{CAPSLOCK}"     Application.SendKeys "+{CAPSLOCK}"   End If End Sub 'ここまで-------------------------------------------------------------------------- 5) Microsoft Visual Basicを終了します。 なおソース中にも書いてありますが、Bの例で別のセルを指定したい場合は、 絶対参照かつ大文字で書いてください。例えばセルB10を指定したい場合は、   If Target.Address = "$B$10" とします。 複数のセルを指定したい場合は、上の行を必要なだけ追記してください。   If Target.Address = "$A$1" Then FCaps = False   If Target.Address = "$B$10" Then FCaps = False   If Target.Address = "$C$3" Then FCaps = False と3行続けて書けば、A1とB10とC3にマウスを合わせた時にCapsLockがオンします。 当然A1に合わせてからB10に合わせ直してもCapsLockはオンのままですよ。

am20
質問者

お礼

ありがとうございます。 やはりマクロを使うしかないのでしょうか? できればマクロを使いたくないので。。。

関連するQ&A

  • エクセル&CapsLock

    エクセルで(1)←(括弧ではなくて○で囲む。)入力方法を教えてください それと、CapsLock の、オン&オフって、どうして見分けるのでしょうか。(ログイン出来ない理由に、CapsLock は、オフですか?)が、わかりません。よろしくお願いします。

  • capslockをオンからオフにするには?

    ホームページの管理パスワードが今までスムースにそのまま 入力できたのですが、なんかの拍子でcapslockがオンになっています という表示が出てパスワード入力が出来ない状態になってしまいました。 素人考えでcapslockをオフにすれば元のように 戻るような気がするのですがそのやり方が判りません すみませんがご存じの方にご教示頂ければ有難いです 今後こんなことにならないよう常時オフで 固定しておく方法などもあるのでしょうか合わせて教えて頂ければ 幸いです。

  • L540 CapsLock

    lenovo L540 で CapsLock on off の換え方はわかりますが現在 on off はどこに表示されますか メーカーによっては CapsLock キーにランプがついたりしますが 

  • CapsLockをオンにしたいです

    Windows XP Professional SP2を使ってます 会社のパソコンなのですが、起動時にCtrl+Alt+Deleteを押してから パスワードを入力しログインする設定です このログイン時にCapsLockをオンにしたいのですが、その方法を 教えていただけますでしょうか よろしくお願いします

  • VBAでcapslockをONにするには?

    テキストボックス等の入力文字を英数大文字にしていするにはどうすれば ・・・?いいのでしょうか。IMEmodeでは英数大文字というのはないですよね? capslockをONにするとかできないのでしょうか?

  • L540 capslock

    L540 で capslock の ON/OFF はどこに表示されますか ※OKWAVEより補足:「Lenovo:ノートブック(ThinkPad)」についての質問です。

  • capslockが逆になりました。

    ibook 1.83 GHz Intel Core Duo OS10.4.8を使用しています。 現象は(関係なさそうですが)Word起動後から。 通常ではCapslockがON(LED点灯)の場合は大文字で OFF(消灯)の場合は小文字の入力になると思いますが、 それが逆になってしまっています。 @はcapslockのON、OFFに関わらず[になります。 再起動でも直らないのでちょっと困ってます。 いろいろ調べてみましたが簡単なことすぎるのか 解決策が見つけれませんでした。 大変初歩的な質問かとは思いますが、 どなたかご存知の方教えてください。

    • 締切済み
    • Mac
  • CAPSLOCKをOFFにするにはどうすればよいですか。

    CAPSLOCKをOFFにするにはどうすればよいですか。

  • CapsLock送信 キーストローク

    以下の環境で開発を行っています。 OS:Windows2005 開発言語:vb.net2005 FrameWork 2.0 現在、フォーム上のテキストボックスにフォーカスが遷移した場合にCapsLockの状態がOffの場合のみ、SendKeyクラスのSendメソッドを利用し、CapsLockをOnに設定するようにPGの作成をおこなっています。 サンプルなどを確認したところ、以下のようなコードでいけると思ったのですが、どうもうまくいきません。 ご存知の方、ご教授下さい。 Private Sub txt1_GotFocus(・・・) Handles txt1.GotFocus 'CapsLockがOffの場合 If Not (Control.IsKeyLocked(Keys.CapsLock)) Then '大文字入力制御(CapsLockキーを送信) SendKeys.Send("+{CAPSLOCK}") 'Shift+CapsLockを送信 End If End Sub

  • 英語キーボードでSHIFT+CAPSLOCKで変換

    こんにちは。 困ったことがでたので、わかる方がいたらご返答をいただきたいです。 最近入った会社では英語版WINDOWSVISTAが入っています。 キーボードも英語配列です。 漢字変換のON/OFFはSHIFT+CAPSLOCKで行えます。 しかし家では日本語WINDOW7に日本語配列を使用しており、 会社と家で環境が違うことで、キーの打ち間違いなどが多発します。 そこで家のキーボードも英語配列のものにしようとして、 プリファード・プロUSBキーボード(英語) 73P5220 (レノボ・ジャパン) を購入して取り付けました。 しかし日本語入力がONの状態では英語配列にならなかったため、 以下のサイトを参考にしてレジストリを変更したところ、英語配列にすることができました。 http://d.hatena.ne.jp/yohtani/20091021/1256132743 でも、日本語入力のON/OFFをSHIFT+CAPSLOCKにすることができません。 CAPSLOCKを単押ししても、SHIFT+CAPSLOCKを押しても、 どちらでもCAPSLOCKがONになるだけです。 現状では、ALT+‘のキーを押すことで、日本語入力の切り替えはできています。 SHIFT+CAPSLOCKで日本語入力のON/OFFを切り替えるための、 何かいい方法はないでしょうか? よろしくお願いします。