我在Excel 2010中編程VBA(7.0),並試圖製作一個將字符串變量(包含漢字)變成平假名成分的宏。據我所知,沒有VBA特定的方法來做到這一點。因此,我假設要去嘗試模仿日文鍵盤上的[henkan]「換換」按鈕。編程日文鍵盤「恆康」按鈕
對於那些不習慣日文鍵盤的人來說,「変換」按鈕用於將成文平假名寫入時改爲日文漢字(同樣突出顯示現有文字並按下它將提供將其改爲其他漢字的選項,以及它的組成平假名或片假名)。按下該按鈕將顯示來自IME的列表,列出您輸入的可能選項。
把1 + 1一起(獲得3),並試圖在以下代碼沒有產生任何結果。
Private Sub test_Click()
Sheets("Main").Range("A1").Select '<--- A1 contains a Kanji Compound
Application.SendKeys (79) '<--- Both (79) and ("79") were tried
End Sub
我注意到有以下VBA函數(最終可能會與最終的結果幫助),但他們似乎並沒有幫助的情況。
- 中StrConv(可以轉換平假名<>片假名,但不是漢字)
- 語音
- 。新增(可以增加漢字的閱讀(如閱讀)然而,這需要用戶輸入,不自動)。
- .CharacterType(返回或設置語音類型;平假名,片假名等)
- IME(主要是用於設置輸入規則)
甲同事建議我可能需要首先查看IME API,看看是否可以訪問它(使用API的權限),其次是讓我知道訪問密鑰的方式。不過,我在API(尤其是IME)方面的經驗卻一無所獲。
是否有VBA特定的方式來模擬漢字 - >平假名過程(只需要單向漢字平假名轉換)?
失敗了,是否有一個過程可以發送「変換」按鈕並選擇平假名選項?
是不是簡單'Application.SendKeys(「{轉換}」)'? –
@DirkReichel不是我能看到的。我得到[Method'SendKeys of object'_Application'failed error]。除非我寫錯了。你是否想用一段代碼刺穿答案? –
是一個LOOONG時間前...我記得像它是一個特殊的關鍵像'{UP}'...需要再次搜索...可能需要一段時間(我仍然記得發現,就像地獄)也是爲VB而不是VBA:/ –