Office関連

アラビア文字かどうかを判別するWordマクロ

以前mougの質問用に書いたコードが出てきたので、一部修正しました。

Option Explicit

Public Sub Sample()
  Dim shell As Object
  Dim i As Long
  
  Set shell = CreateObject("WScript.Shell")
  With Selection
    For i = 1 To .Characters.Count
      shell.Popup "文字:" & .Characters(i).Text & vbNewLine & _
                  "アラビア文字かどうか:" & IsArabic(.Characters(i).Text)
    Next
  End With
End Sub

Private Function IsArabic(ByVal char As String) As Boolean
'アラビア文字判別
'※ 下記Webページ参照
'https://en.wikipedia.org/wiki/Unicode_block
'https://en.wikipedia.org/wiki/Arabic_script_in_Unicode
'https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%A9%E3%83%93%E3%82%A2%E6%96%87%E5%AD%97
'http://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/m_eastern.html
  Dim cc As Variant
  Dim ret As Boolean
  
  ret = True '初期化
  cc = Val("&H" & Hex(AscW(char)) & "&")
  
  '例外処理
  Select Case cc
    Case 64976 To 65007, 65279 '非文字(U+FDD0-U+FDEF), BOM(U+FEFF)
      ret = False: GoTo Fin
  End Select
  
  'Unicode範囲
  Select Case cc
    Case 1536 To 1791     'Arabic (U+0600-U+06FF)
    Case 1872 To 1919     'Arabic Supplement(U+0750-U+077F)
    Case 2208 To 2303     'Arabic Extended-A(U+08A0-U+08FF)
    Case 64336 To 65023   'Arabic Presentation Forms-A(U+FB50-U+FDFF)
    Case 65136 To 65279   'Arabic Presentation Forms-B(U+FE70-U+FEFF)
    Case 69216 To 69247   'Rumi Numeral Symbols(U+10E60-U+10E7F)
    Case 126464 To 126719 'Arabic Mathematical Alphabetic Symbols(U+1EE00-U+1EEFF)
    Case Else
      ret = False
  End Select
  
Fin:
  IsArabic = ret
End Function

IsArabic_01

下記記事と同様、文字コードでアラビア文字かどうかを判別しています。
コードの範囲はWikipediaを元にしていますが、もしかしたら抜けがあるかもしれません。

テスト用の文字列を挿入するWordマクロ前のページ

Excelで「Classic Menu」タブが表示されなくなるトラブルについて次のページ

関連記事

  1. アイコン一覧

    Office 2013 アイコン一覧(B)

    ・Office 2013 アイコン一覧 NUM…

  2. Office関連

    PDFのしおり情報を出力するVBAマクロ

    Acrobatフォーラムの下記スレッドで当ブログへのリンクが貼られてい…

  3. Office関連

    Windows 10 Technical PreviewにOffice XPをインストールしてみまし…

    「最新ビルドを詳細レビュー! Windows 10 Technical…

  4. アイコン一覧

    Office 365アイコン(imageMso)一覧(K,L)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  5. Office関連

    オフィス祭り 2018 in 東京に参加しました。

    先日書いた下記記事の通り、9月15日(土)に品川にある日本マイクロソフ…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP