YouTubeでお伝えしたAutoHotkeyのコードはこちらです。
ご活用いただければ。
AutoHotkeyの使い方
こちらの記事をご参照ください。

使い方
以下のコードをベースに、カスタマイズしてください。
コード詳細
#Requires AutoHotkey v2.0
; 無変換キー単体では何もしない
sc07B::Return
; 無変換 + T:IME辞書TXTを読み込む
sc07B & t::ImportImeDictionary()
ImportImeDictionary() {
imeTool := "C:\Windows\System32\IME\IMEJP\IMJPDCT.EXE"
dictFile := A_UserProfile "\OneDrive\00.Inbox\IME_辞書ツール.txt"
if !FileExist(dictFile) {
MsgBox "IME辞書TXTが見つかりません。`n`n" dictFile
return
}
; IMEユーザー辞書ツールを開く
imeHwnd := WinExist(
"Microsoft IME ユーザー辞書ツール ahk_exe IMJPDCT.EXE"
)
if !imeHwnd {
Run '"' imeTool '" -t'
imeHwnd := WinWait(
"Microsoft IME ユーザー辞書ツール ahk_exe IMJPDCT.EXE",
,
5
)
}
WinActivate "ahk_id " imeHwnd
WinWaitActive "ahk_id " imeHwnd
; 現在開いているダイアログを記録
dialogsBefore := GetImeDialogs()
; 「テキスト ファイルからの登録」を実行
if !RunImeImportMenu(imeHwnd) {
MsgBox "「テキスト ファイルからの登録」が見つかりませんでした。"
return
}
; ファイル選択画面を待つ
fileDlg := WaitForNewImeDialog(dialogsBefore)
if !fileDlg {
MsgBox "ファイル選択画面を確認できませんでした。"
return
}
WinActivate "ahk_id " fileDlg
WinWaitActive "ahk_id " fileDlg
; TXTファイルを指定
Send "^l"
Sleep 150
SendText dictFile
Sleep 150
Send "{Enter}"
}
; 「テキスト ファイルからの登録」メニューを実行
RunImeImportMenu(hwnd) {
hMenu := DllCall("GetMenu", "Ptr", hwnd, "Ptr")
if !hMenu
return false
topCount := DllCall("GetMenuItemCount", "Ptr", hMenu, "Int")
Loop topCount {
hSubMenu := DllCall(
"GetSubMenu",
"Ptr", hMenu,
"Int", A_Index - 1,
"Ptr"
)
if !hSubMenu
continue
subCount := DllCall(
"GetMenuItemCount",
"Ptr", hSubMenu,
"Int"
)
Loop subCount {
position := A_Index - 1
menuText := GetMenuText(hSubMenu, position)
if InStr(menuText, "テキスト ファイルからの登録") {
menuId := DllCall(
"GetMenuItemID",
"Ptr", hSubMenu,
"Int", position,
"UInt"
)
PostMessage 0x0111, menuId, 0, , "ahk_id " hwnd
return true
}
}
}
return false
}
GetMenuText(hMenu, position) {
buf := Buffer(1024, 0)
length := DllCall(
"GetMenuStringW",
"Ptr", hMenu,
"UInt", position,
"Ptr", buf.Ptr,
"Int", 512,
"UInt", 0x0400,
"Int"
)
return length > 0 ? StrGet(buf.Ptr, length, "UTF-16") : ""
}
GetImeDialogs() {
dialogs := Map()
for hwnd in WinGetList(
"ahk_class #32770 ahk_exe IMJPDCT.EXE"
)
dialogs[hwnd] := true
return dialogs
}
WaitForNewImeDialog(dialogsBefore, timeoutSeconds := 5) {
endTime := A_TickCount + timeoutSeconds * 1000
while A_TickCount < endTime {
for hwnd in WinGetList(
"ahk_class #32770 ahk_exe IMJPDCT.EXE"
) {
if !dialogsBefore.Has(hwnd)
return hwnd
}
Sleep 100
}
return 0
}OneDrive上にIME辞書用のTXTファイルを置き、各PCから同じファイルを読み込みます。
TXTを更新したあと、「無変換+T」を押すだけでMicrosoft IMEへ反映できます。
1.AutoHotkey v2をインストール
このコードはAutoHotkey v2用です。
AHKファイルを実行できる状態にしておきます。
2.OneDrive上に辞書用TXTを作成
OneDrive内の好きな場所に、IME辞書用のTXTファイルを作成します。
IME_辞書ツール.txt
3.TXTに単語を登録
1行につき、次の3項目を入力します。
よみ[TAB]単語[TAB]品詞
たとえば、次のように記載します。
お おはよう 短縮よみ
よ よろしくお願いします 短縮よみ
ポイント
項目の区切りにはスペースではなく、Tabキーを使います。
4.AHKコードのファイルパスを変更
コード内の次の部分を、自分が作成したTXTファイルの場所に合わせて変更します。
dictFile := A_UserProfile "\OneDrive\フォルダ名\IME_辞書ツール.txt"
OneDrive直下に置く場合は、たとえば次のようにします。
dictFile := A_UserProfile "\OneDrive\IME_辞書ツール.txt"
5.AHKファイルを実行
コードを.ahkファイルとして保存し、AutoHotkeyで実行します。
すでにAutoHotkeyを使っている場合は、既存のAHKファイルに追加してもOKです。
6.単語を追加したら「無変換+T」
TXTファイルに単語を追記して上書き保存します。
TXTを編集・保存
↓
無変換+T
↓
Microsoft IMEへ登録
「無変換+T」を押すとMicrosoft IMEユーザー辞書ツールが開き、 指定したTXTファイルから単語が読み込まれます。
7.複数PCで同じ設定をする
他のPCでも同じOneDriveを同期し、同じAutoHotkeyコードを設定します。
以後は、OneDrive上のTXTファイルだけを更新しておけば、 各PCで「無変換+T」を押すことで同じ単語リストを反映できます。
注意点
Microsoft IMEのユーザー辞書そのものをリアルタイム同期する仕組みではありません。
OneDrive上のTXTを共通の元データとして使い、それぞれのPCのIMEへ読み込む方法です。
関連記事
-
Video shooting(動画)
YouTubeを始めてよかったこと
-
IT
AutoHotkeyでExcelをワンキー起動|新規ブックも指定ファイルもすぐ開ける
-
AI
前提変われば、答えも変わる|AIの税務判断が正しいとは限らない
-
AI
ChatGPTの「プロジェクト」が思った以上に快適だった
-
IT
ふとしたアイデアを形にしてみる|最近作ったもの3選
-
Excel(マクロ・VBA)
Excelグラフは「作る」より「どう見せるか」|棒グラフ+折れ線で試算結果を見える化【AIとも比較】
-
GAS
セミナー動画の送付を効率化|GASで名前入りGmail下書きを一括作成
-
AI
YouTubeでAIに任せていること/いないこと
-
IT
【読書記録】ブクログではなくNotionで。楽天ブックスAPIで書影を自動取得