
エクセルマクロでActivateNextを使ってCtrl+Tabと同じ動作をするツールバーを作りました。
このツールバーを使ってCtrl+Shift+Tab(ActivatePrevious)と同じ動作をさてたいと思っています。
通常はボタンを押すとActivateNextが動き、Shiftを押しながらボタンを押すとActivatePreviousが動くようにしたいのです。
プレビューボタンはShiftを押しながらボタンを押すと印刷ボタンになりますよね。
イメージまで変わらなくてもいいです。処理だけでも変えたいです。
Shiftが押されているって情報がマクロに渡せれば良いのでしょうが・・・。
Sub ウインドウ切替(kbn)
If kbn = 1 Then
ActiveWindow.ActivatePrevious
Else
ActiveWindow.ActivateNext
End If
End Sub
そのような情報って取得できるのでしょうか?[Excel2000]
No.1ベストアンサー
- 回答日時:
Windows APIのGetAsyncKeyStateを使うとキーボードの状態が取得できます。
実際のコーディングはこんな感じでしょうか。
Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Public Sub ウインドウ切替()
If GetAsyncKeyState(vbKeyShift) <> 0 Then
'Shiftキーが押されている
ActiveWindow.ActivatePrevious
Else
'Shiftキーは押されていない
ActiveWindow.ActivateNext
End If
End Sub
回答ありがとうございます。
今までAPIという言葉に対し、目を伏せていました。
APIを使うと何でもできるってイメージがあるのですが、何ができるか知らない為、発想が行き着きません。
避けつづけるのも、そろそろ限界かもしれませんね。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのメニューバーやツー...
-
ワードの印刷レイアウト表示画...
-
PDF Xchange viewerの書体変更
-
エクセルでセルの内容を表示す...
-
msnホーム画面
-
文字が斜体になってしまうので...
-
漢字 「澤」という字
-
ローマ字数字IIを正確に表示す...
-
outlookで、ダブルクリックでの...
-
今日リゼロ打ってたら、チャン...
-
スワイプの左右の定義
-
「℃」の入力方法について
-
MSN Japanを削除したい
-
ページの下方が画面表示できない
-
フォルダウィンドウのメニュー...
-
Excelのウィンドウが少し小さく、ズ...
-
Androidの自動スクロール
-
google chromeの閲覧履歴が下ま...
-
テレビで YouTube を見ています...
-
Windows10 エクスプローラー表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
戻る が消えてしまいました。
-
surfaceプロ2のキーボードの矢...
-
ワードの印刷レイアウト表示画...
-
excel でctrl+shift + 矢印ボタン
-
Excel VBA msgboxに...
-
YahooツールバーのYボタン
-
学生服学ランはボタン以外同じ...
-
Googleフォトのこの雲マークに...
-
更新ボタンって どこに有るの...
-
エクセルシート上のボタンの削除
-
DELL LATITUDE E4310 の音量ボ...
-
ツールバーのカスタマイズ(検索)
-
ツールバー表示
-
EXCELで、ツールバーのクリック...
-
スレイプニル1.66ではてなブッ...
-
エクセルのundo(元に戻す)ボ...
-
IEの内容をWordに変換
-
ツールバーの表示が変わってし...
-
Microsoft Mouse intelliPoint...
-
テレビで YouTube を見ています...
おすすめ情報