2016年9月25日日曜日

MS-IME のローマ字設定(レジストリ)を作成する関数

昨日作成した「GetHexCode」関数で何がやりたかったかと言うと要するにこれがやりたかったわけです。
今回作成した「RomeReg」関数は引数として「kf=あ」を渡すと「6B,66,3D,82,A0,00,\」の様な文字列を返します。
これを使ってレジストリファイルを作ってレジストリを「アレ」すれば通常のローマ字設定では編集できない定義が使えたりします。
具体的には月配列のような特殊な配列をローマ字定義の書き換えのみで実装できるわけです。

Option Explicit

Function RomeReg(xs As String) As String
    ' --- 宣言 ---
    Dim i           As Long
    Dim HexCode     As String
    Dim Result      As String
    
    ' --- 処理 ---
    For i = 1 To Len(xs)
        HexCode = GetHexCode(Mid(xs, i, 1))
        If Len(HexCode) = 2 Then
            ' 16進表記で2文字と言う事は1バイト文字
            Result = Result & HexCode & ","
        ElseIf Len(HexCode) = 4 Then
            ' 16進表記で4文字と言う事は2バイト文字
            Result = Result & Left(HexCode, 2) & "," _
                            & Right(HexCode, 2) & ","
        Else
            ' ※ここには到達しないはず
            Result = "-- Something is wrong!! --"
        End If
    Next i
    
    ' --- 結果 ---
    RomeReg = Result & "00,\"
End Function

' 先頭文字の文字コードを16進表記で返す関数
Function GetHexCode(xs As String) As String
    GetHexCode = Hex(Asc(xs))
End Function

ワークシートから呼び出す事も出来ますし VBA の中で使用しても OK です。
みんな月配列使いましょう!!

2016年9月24日土曜日

先頭文字の文字コードを16進表記で返す関数

引数として「A」を渡したら「41」、「あ」を渡したら「82A0」を返す関数。
Function GetHexCode(xs As String) As String
    GetHexCode = Hex(Asc(xs))
End Function
ワークシートから呼び出してもいいし、VBAの中で呼び出してもOK。

2016年7月18日月曜日

月配列T2.x系

T2.x系を確定させることにしました。
T2.x系はMS-IMEのローマ字デーブルで全定義を実装できます。
(.regファイルを読みこませる必要はありますが管理者権限は不要です。)
T2.x系と言ってはみたものの結局納得の行く版は一つだけでした。


月配列T2.0 (2016/06/28版)

ゅとしこょ つんいのりー
はか☆てた くう★゛き゜
すふせなさ っる、。・

ねそひほめ むゃよみぬ
けもらおえ あまにをちゆ
ぁぃへれや わろぅぇぉ


…そんなわけで現在はT3.x系の開発に着手してます。(^_^;)

2016年5月5日木曜日

月配列T1.x系

そろそろ版を整理したいと思います。
配列手帳とTwitterを振り返って「安定版」と感じた版にバージョン番号を振ってみました。

My月配列には現在大きく分けてT1.x系とT2.x系の2系統があります。
T1.x系とT2.x系の違いはMS-IMEのローマ字テーブルで全定義を実装できるかどうかです。
T2.x系はMS-IMEのローマ字テーブルで全定義を実装できます。
今回はT1.x系を投稿します。


月配列T1.0 (2015/03/12版)

ゅとしこょ つんいのりち
はか☆てた くう★゛きー
すふになさ っる、。゜

ぁそれほめ むゃみやぇ
ぃけらあよ まおもをえ
ぅへゆせね わろひぬぉ


月配列T1.1 (2015/07/27版)

ゅとしこょ つんいのりち
はか☆てた くう★゛きー
すふになさ っる、。゜

ゆそれねめ むゃみやぬ
ほけらおよ あまもをえ
ぁぃぅせへ わろひぇぉ


月配列T1.2 (2015/11/15版)

ゅとしこょ つんいのりち
はか☆てた くう★゛きー
すふになさ っる、。゜

ゆそれねめ むゃよみぬ
へけらおほ あまもをえ
ぁぃぅせや わろひぇぉ


MS-IMEで全定義を実装できないと言う点を除けばT1.2はとても気に入ってます。
TypeWellでGeniusに到達したのもこの版の時のはず。