|
こんにちは
>しかし、"(株)"が不定の場合の処理をどうするか、今後の課題です
先に回答しましたけど、ご自分で変換テーブルを作ってコード化するしかないと思います。
おおまかな機種依存文字を変換するものをコード化すると、
Sub test1()
Debug.Print Replace_Char("(株)東京")
End Sub
Function Replace_Char(ByRef text As String) As String
Dim i As Long
Dim s As String
Dim mChr As Variant
Dim rChr As Variant
s = text
mChr = Array( _
"1.", "2.", "3.", "4.", "5.", "6.", "7.", "8.", "9.", "10.", _
"11.", "12.", "13.", "14.", "15.", "16.", "17.", "18.", "19.", "20.", _
"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", _
"ミリ", "キロ", "センチ", "メートル", "グラム", "トン", "アール", "ヘクタール", "リットル", _
"ワットル", "カロリー", "ドル", "セント", "パーセント", "ミリバール", "ページ", _
"mm", "cm", "km", "mg", "kg", "cc", "u", "平成", _
"", "", "No.", "k.k.", "TEL", "上", "中", "下", "左", "右", _
"(株)", "(有)", "(代)", "明治", "大正", "昭和")
rChr = Array( _
"(1)", "(2)", "(3)", "(4)", "(5)", "(6)", "(7)", "(8)", "(9)", "(10)", _
"(11)", "(12)", "(13)", "(14)", "(15)", "(16)", "(17)", "(18)", "(19)", "(20)", _
"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", _
"ミリ", "キロ", "センチ", "メートル", "グラム", "トン", "アール", "ヘクタール", "リットル", _
"ワット", "カロリー", "ドル", "セント", "パーセント", "ミリバール", "ページ", _
"mm", "cm", "km", "mg", "kg", "cc", "平方メートル", "平成", _
"「", "」", "No.", "K.K.", "TEL", "(上)", "(中)", "(下)", "(左)", "(右)", _
"(株)", "(有)", "(代)", "明治", "大正", "昭和")
With CreateObject("VBScript.RegExp")
For i = 0 To UBound(mChr)
.Pattern = mChr(i)
s = .Replace(s, rChr(i))
Next
End With
Replace_Char = s
End Function
mChrには機種依存文字、rChrに変換後の文字を登録します。
このサイトでmChrが正しく表示されるかは不明です。
|
|