清音かどうかを調べる関数

清音の定義:清音 - Wikipedia
※以下の関数では、「清音」とは言っているが、個人的な問題で、清音に加え、「を」「ん」を含むようにしている。

' 渡された文字列は全て清音かどうか調べる.
' @retval True  清音.
' @retval False 清音ではない.
Function 清音文字列(str As String) As Boolean
    Dim ret As Boolean
    ret = True
    
    Dim i As Integer
    Dim r As Boolean
    
    For i = 1 To Len(str)
        r = 清音(Asc(Mid(str, i, 1)))
        If r = False Then
            ret = r
        End If
    Next i
    
    清音文字列 = ret
End Function

' ac は、asciicode
' @retval True  清音.
' @retval False 清音ではない.
Function 清音(ac As Long) As Boolean
    清音 = Switch(ac = -32097, False, ac = -32096, True, ac = -32095, False, ac = -32094, True, _
                    ac = -32093, False, ac = -32092, True, ac = -32091, False, ac = -32090, True, _
                    ac = -32089, False, ac = -32088, True, ac = -32087, True, ac = -32086, False, _
                    ac = -32085, True, ac = -32084, False, ac = -32083, True, ac = -32082, False, _
                    ac = -32081, True, ac = -32080, False, ac = -32079, True, ac = -32078, False, _
                    ac = -32077, True, ac = -32076, False, ac = -32075, True, ac = -32074, False, _
                    ac = -32073, True, ac = -32072, False, ac = -32071, True, ac = -32070, False, _
                    ac = -32069, True, ac = -32068, False, ac = -32067, True, ac = -32066, False, _
                    ac = -32065, True, ac = -32064, False, ac = -32063, False, ac = -32062, True, _
                    ac = -32061, False, ac = -32060, True, ac = -32059, False, ac = -32058, True, _
                    ac = -32057, False, ac = -32056, True, ac = -32055, True, ac = -32054, True, _
                    ac = -32053, True, ac = -32052, True, ac = -32051, True, ac = -32050, False, _
                    ac = -32049, False, ac = -32048, True, ac = -32047, False, ac = -32046, False, _
                    ac = -32045, True, ac = -32044, False, ac = -32043, False, ac = -32042, True, _
                    ac = -32041, False, ac = -32040, False, ac = -32039, True, ac = -32038, False, _
                    ac = -32037, False, ac = -32036, True, ac = -32035, True, ac = -32034, True, _
                    ac = -32033, True, ac = -32032, True, ac = -32031, False, ac = -32030, True, _
                    ac = -32029, False, ac = -32028, True, ac = -32027, False, ac = -32026, True, _
                    ac = -32025, True, ac = -32024, True, ac = -32023, True, ac = -32022, True, _
                    ac = -32021, True, ac = -32020, False, ac = -32019, True, ac = -32018, False, _
                    ac = -32017, False, ac = -32016, True, ac = -32015, True, ac = -32097, False)
End Function