![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
こんばんは。
詳しい状況が分らないので、あまり正確にVBAのコードを書くことが出来ません。IMEをどこで使うかによっても変ってきます。なお、入力規則とはかなり違います。
まあ、一般的な方法を二つ書いておきます。
'--------------------------------------------
Sub IMEControl1()
Dim Ret As String
If IMEStatus <> vbIMEModeOff Then
SendKeys "%{kanji}"
End If
Ret = Application.InputBox("入力してください。", Type:=2)
If Ret <> "" Then
MsgBox "IME-OFF with SendKey :" & Ret
End If
End Sub
'次は、Win32 API関数を使った方法です。
'--------------------------------------------
Private Declare Function ImmGetContext Lib "imm32.dll" (ByVal hWnd As Long) As Long
Private Declare Function ImmReleaseContext Lib "imm32.dll" (ByVal hWnd As Long, ByVal hImc As Long) As Long
Private Declare Function ImmSetOpenStatus Lib "imm32.dll" (ByVal hImc As Long, ByVal b As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Long) As Long
'--------------------------------------------
Sub IMEControl2()
Dim hImc As Long
Dim myHWnd As Long
Dim Ret As String
'バージョンチェック
If Application.Version > 9 Then
myHWnd = Application.hWnd
Else
myHWnd = FindWindow("XLMAIN", 0)
End If
hImc = ImmGetContext(myHWnd)
'IMEをOFF
If hImc <> 0 Then
Call ImmSetOpenStatus(hImc, 0)
Call ImmReleaseContext(myHWnd, hImc)
End If
Ret = Application.InputBox("入力してください。", Type:=2)
If Ret <> "" Then
MsgBox "IME-OFF with API :" & Ret
End If
End Sub
No.2
- 回答日時:
>日本語入力OFF
(1)入力モードの初期値を英数にするということですか
(2)結果入力値が全角ではない内容にしたいということですか。
(2)だと回答は大幅に変わるでしょう。
>セルへの入力であれば、入力規則で出来るので
これも(1)のはず。
マクロの記録ではValidationの .IMEMode = xlIMEModeAlphaと出てきます。
TextBoxなどコントロールにはプロパティにIMEModeがあります。
InputBox関数自体にIMEを制御する機能はありません。
その対策として
http://www.officetanaka.net/excel/vba/tips/tips1 …
に逆のケース(ONにするケース)が載ってます。
APIを使う例も。
(ただし私のケースでは、SendKeys ("{kanji}")はOnにならずOffになった。)
対策以下は自信なし。
>(1)入力モードの初期値を英数にするということですか
こちらです。
SendKeys で対応することにしました。
参考URLありがとうございました。
>InputBox関数自体にIMEを制御する機能はありません
と書いてあり、今回の質問の回答になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Android(アンドロイド) スマホの日本語入力の選択肢を変えるには 4 2023/07/29 19:07
- Windows 10 Windows10で、急に「IMEが無効です」となり日本語入力ができなくなりました。 6 2023/02/15 06:46
- Windows 10 MicrosoftIMEでトラブル、助けてください m(_._)m 4 2023/05/16 14:11
- Excel(エクセル) Excelヘルプの原文を表示する最速の方法(手順)には? 1 2023/08/11 11:30
- Windows 10 win11 日本語を入力するとアプリが消える 1 2022/11/22 19:34
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) 空白のセルを変更しようとした時(アクティブセル)に インプットボックスを5回出す インプットボックス 1 2023/03/14 11:01
- Excel(エクセル) ①Excel シートに、「=」を入力したいのですが、shift+「ほ」を押すと、「_」と入力されます 2 2022/04/28 12:59
- Excel(エクセル) Excelについて Excel初心者です。 日報に数字を入力する時、誤った数字を入れると、セルが赤く 6 2023/03/31 17:05
- Windows 10 Win10で、IMEパッドをショートカットキーで出せない。 2 2023/01/25 18:45
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
InputBoxの入力値を半角数字のみと限定する方法
Excel(エクセル)
-
エクセルVBAでIME入力モードの制御
Excel(エクセル)
-
InputBoxでの日本語オン、オフ設定方法
Visual Basic(VBA)
-
-
4
EXCEL VBA でインプットボックスを開いたときの入力モードの設定について
Excel(エクセル)
-
5
Word2007数式でIMEオン/オフをマクロで
その他(Microsoft Office)
-
6
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
7
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
private subモジュールを他のモジュールから呼び出して使う方法を教えてください(-.-)
Visual Basic(VBA)
-
11
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
12
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
13
エクセルVBA InputBoxで入力欄を*****
Excel(エクセル)
-
14
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
15
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
16
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
17
Inputboxの表示位置(VBA)
Excel(エクセル)
-
18
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
19
モーダルフォームとモードレスフォーム
Visual Basic(VBA)
-
20
Excelで、ボタンにコメントをつけたい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロ 入力規則は残し文字の...
-
VBAの日付チェックでオーバーフ...
-
Excelについて
-
ドロップダウンリスト 自動表...
-
autocad 数値が表示されなくな...
-
エクセルで半角カナや特殊文字...
-
エクセルで参加者を管理 出席...
-
【スプレッドシート】時間入力...
-
ドロップダウンリストを2列で...
-
バーコードリーダーを使ってフ...
-
小数点以下の入力規則
-
Googleドキュメントで数式を書...
-
エクセルで同列のセルに同じ文...
-
【エクセルでシフト作成】週休2...
-
確定申告の医療費控除について
-
エクセルで経験年数を出す
-
エクセルでのタイムカード管理
-
ACCESSで日付型のフィールドにY...
-
エクセル COUNTIF関数 検索条...
-
特殊漢字「はし」(橋のつくり...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ドロップダウンリスト 自動表...
-
VBAの日付チェックでオーバーフ...
-
autocad 数値が表示されなくな...
-
ドロップダウンリストを2列で...
-
Excelについて
-
マクロ 入力規則は残し文字の...
-
Excelで日報を自動で作成したい...
-
エクセルVB ポップアップウィ...
-
excelのInputBoxで日本語入力OF...
-
バーコードリーダーを使ってフ...
-
特殊漢字「はし」(橋のつくり...
-
エクセル 日付超過でポップアッ...
-
小数点以下の入力規則
-
弥生会計05、「摘要」入力について
-
excelで第二金曜日を…
-
ACCESSで日付型のフィールドにY...
-
求人情報で「SAP入力可能な方」...
-
メアド入力不要な日程調整ツー...
-
エクセルの入力規則のプルダウ...
-
バッククォートの入力方法
おすすめ情報