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関連

    [Office]シンプルリボンのアンケートへの回答でAmazonギフト券が当たるチャンス

    「Office の新しい外観」にある通り、一部のOffice環境では、…

  2. Office関連

    Office 2016 Preview for Windowsのサポート情報まとめ

    「Office のサポート ページ - support.office.…

  3. Office関連

    [PowerShell]iTextSharpを使ってPDFファイルを結合する

    mougにあった質問「2つのPDFファイルを結合するには」の回答用に書…

  4. Office関連

    格子状にガイドを追加するPowerPointマクロ

    前回の記事で、PowerPoint 2013で追加されたGuide、G…

  5. Office関連

    [Office]アイコンの検索機能が超便利!

    ※ 下記情報はInsider版のOfficeを元にしています。バージョ…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP