文字列からFontStyleの変換モジュール

VB2005でテキストからFontStyleに型変換する方法が分からなかったので、力技で解決してみた。以下そのコード。

    Private Function ConvertFontStyle(ByVal FontStyleString As String) As FontStyle
        '// フォントスタイル文字列をフォントスタイルに変換 //
        If IsNumeric(FontStyleString) Then
            Select Case Val(FontStyleString)
                Case 0
                    Return FontStyle.Regular

                Case 1
                    Return FontStyle.Bold

                Case 2
                    Return FontStyle.Italic

                Case 3
                    Return FontStyle.Bold Or FontStyle.Italic

                Case 4
                    Return FontStyle.Underline

                Case 5
                    Return FontStyle.Bold Or FontStyle.Underline

                Case 6
                    Return FontStyle.Italic Or FontStyle.Underline

                Case 7
                    Return FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline

                Case 8
                    Return FontStyle.Strikeout

                Case 9
                    Return FontStyle.Bold Or FontStyle.Strikeout

                Case 10
                    Return FontStyle.Italic Or FontStyle.Strikeout

                Case 11
                    Return FontStyle.Bold Or FontStyle.Italic Or FontStyle.Strikeout

                Case 12
                    Return FontStyle.Underline Or FontStyle.Strikeout

                Case 13
                    Return FontStyle.Bold Or FontStyle.Underline Or FontStyle.Strikeout

                Case 14
                    Return FontStyle.Italic Or FontStyle.Underline Or FontStyle.Strikeout

                Case 15
                    Return FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline Or FontStyle.Strikeout

            End Select
        Else
            Select Case FontStyleString
                Case "Regular"
                    Return FontStyle.Regular

                Case "Bold"
                    Return FontStyle.Bold

                Case "Italic"
                    Return FontStyle.Italic

                Case "Bold, Italic"
                    Return FontStyle.Bold Or FontStyle.Italic

                Case "Underline"
                    Return FontStyle.Underline

                Case "Bold, Underline"
                    Return FontStyle.Bold Or FontStyle.Underline

                Case "Italic, Underline"
                    Return FontStyle.Italic Or FontStyle.Underline

                Case "Bold, Italic, Underline"
                    Return FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline

                Case "Strikeout"
                    Return FontStyle.Strikeout

                Case "Bold, Strikeout"
                    Return FontStyle.Bold Or FontStyle.Strikeout

                Case "Italic, Strikeout"
                    Return FontStyle.Italic Or FontStyle.Strikeout

                Case "Bold, Italic, Strikeout"
                    Return FontStyle.Bold Or FontStyle.Italic Or FontStyle.Strikeout

                Case "Underline, Strikeout"
                    Return FontStyle.Underline Or FontStyle.Strikeout

                Case "Bold, Underline, Strikeout"
                    Return FontStyle.Bold Or FontStyle.Underline Or FontStyle.Strikeout

                Case "Italic, Underline, Strikeout"
                    Return FontStyle.Italic Or FontStyle.Underline Or FontStyle.Strikeout

                Case "Bold, Italic, Underline, Strikeout"
                    Return FontStyle.Bold Or FontStyle.Italic Or FontStyle.Underline Or FontStyle.Strikeout

            End Select
        End If
    End Function