Google
 
Web このブログ

2005年10月16日

濁点/半濁点のカナを結合する関数

MSACCESS
2文字の濁点/半濁点のカナを1文字のカナに結合する関数pfDakutenJoin( )

文字列中の「タ゛、ハ゜」など2文字の清音+濁点/半濁点のカナを変換し、1文字の濁音/半濁音のカナに結合した結果の文字列を返します。
前回の関数、pfDakutenSplit( )の逆バージョン。

全角のカタカナ、ひらがなが対象となります。
例えば、「タ゛」→「ダ」 「ハ゜」→「パ」

対象となるのは以下の文字の次に「゛」「゜」が続いた文字列、、、
・全角カタカナ
  「カ行」「サ行」「タ行「ハ行」「ウ」
・全角ひらがな
  「か行」「さ行」「た行」「は行」」

pfDakutenJoin ( pStr )
Input
pStr (必須)変換対象の文字列を指定します
Output
なし
Return
変換された結果の文字列を返します
-------------- サンプルコード --------------
Public Function pfDakutenJoin(pStr As Variant) As String

Dim ii As Long
Dim tmpChr As String
Dim tmpChr2 As String
Dim cnvStr As String
Dim tmpCode As Integer

tmpChr = ""
tmpChr2 = ""
cnvStr = ""

pStr = pStr

For ii = 1 To Len(pStr)

tmpChr = Mid(pStr, ii, 1)
tmpChr2 = Mid(pStr, ii + 1, 1)

Select Case tmpChr2

Case "゛"
tmpCode = Asc(tmpChr)
Select Case tmpCode

'全角カタカナ (カ、サ、タ、ハ行)
Case -31926, -31924, -31922, -31920, -31918, -31916, -31914, -31912, -31910, -31908 _
, -31906, -31904, -31901, -31899, -31897, -31890, -31887, -31884, -31881, -31878

tmpChr = Chr(tmpCode + 1)
ii = ii + 1

'全角カタカナ (ウ)
Case -31931
tmpChr = "ヴ"
ii = ii + 1

'全角ひらがな (か、さ、た、は行)
Case -32087, -32085, -32083, -32081, -32079, -32077, -32075, -32073, -32071, -32069 _
, -32067, -32065, -32062, -32060, -32058, -32051, -32048, -32045, -32042, -32039

tmpChr = Chr(tmpCode + 1)
ii = ii + 1

End Select

Case "゜"
tmpCode = Asc(tmpChr)
Select Case tmpCode

'全角カタカナ (ハ行)
Case -31890, -31887, -31884, -31881, -31878
tmpChr = Chr(tmpCode + 2)
ii = ii + 1

'全角ひらがな (は行)
Case -32051, -32048, -32045, -32042, -32039
tmpChr = Chr(tmpCode + 2)
ii = ii + 1

End Select

Case Else

End Select

cnvStr = cnvStr & tmpChr
Next ii

pfDakutenJoin = cnvStr

End Function



このネタが役に立ったらポチッとな→人気blogランキングへ

posted by Picaso at 23:45 | Comment(0) | TrackBack(0) | MS Access - Tips
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL
http://blog.seesaa.jp/tb/8228914
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。