#411 拗促音を変換する方法 VBA

「ァィゥェォャュョ」などの拗促音を通常の文字「アイウエオヤユヨ」に変換する例です。

次のサンプルFunctionプロシージャを使うと、引数strKanaの文字列内に含まれる拗促音が変換されて返されます。
ここでは、いったん引数を半角カナに変換して、1文字1バイトの状態にします。そして、それぞれの文字のASCIIコードをAsc関数で順番に調べ、拗促音の範囲の値であれば対応する文字へとChr関数で変換しています。

Function ConvStrTest(strKana As String) As String

  Dim intAscCode As Integer
  Dim iintLoop As Integer

  '全角カナを半角カナに変換
  strKana = StrConv(strKana, vbNarrow)

  '拗促音を変換
  For iintLoop = 1 To Len(strKana)
    intAscCode = Asc(Mid$(strKana, iintLoop, 1))
    If intAscCode >= 167 And intAscCode <= 171 Then
      Mid$(strKana, iintLoop, 1) = Chr(intAscCode + 10)
    ElseIf intAscCode >= 172 And intAscCode <= 174 Then
      Mid$(strKana, iintLoop, 1) = Chr(intAscCode + 40)
    ElseIf intAscCode = 175 Then
      Mid$(strKana, iintLoop, 1) = Chr(194)
    End If
  Next iintLoop

  '全角カナに戻す
  strKana = StrConv(strKana, vbWide)

  '返り値を設定
  ConvStrTest = strKana

End Function


実行例:
実行例
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved