Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » フリガナを取得するApplication.GetPhoneticメソッド

フリガナを取得するApplication.GetPhoneticメソッド

対象:Excel2010, Excel2013, Windows版Excel2016

「エクセル2010 vba getphonetic」
といったキーワードでのアクセスが、時折あります。

ApplicationオブジェクトのGetPhoneticメソッドについて、

フリガナを取得するApplication.GetPhoneticメソッド

調べていた方による検索です。

GetPhoneticは、Applicationオブジェクトに用意されているメソッドなのですが、Excel VBA初心者の方がイメージする、メソッド( = Excelを操作するコード)とはちょっと違うので、戸惑う方は少なくないと思っています。

[スポンサードリンク]

Application.GetPhoneticメソッドを使ったサンプルマクロ

Application.GetPhoneticメソッドは、VBAの関数に近い動きをします。

簡単なプロシージャで動きを確認しましょう。
Sub フリガナを取得する()
 Const TXT = "松竹梅"
 MsgBox Application.GetPhonetic(TXT)
End Sub

上記のSubプロシージャを実行すると、定数TXTに定義された「松竹梅」のフリガナ「ショウチクバイ」がメッセージボックスに表示されます。

フリガナを取得したい文字列を引数に指定すれば、OKということです。

Application.GetPhoneticが、Excel側に用意されているメソッドではなく、VBAに用意されている関数だったなら、戸惑う方は相当減っていただろうと感じます。

VBAの文字列操作関数を使ったサンプルマクロ

VBAの文字列操作を行う関数の中で、大文字変換を行うUCase関数をつかったSubプロシージャを見てみましょう。

以下のプロシージャを実行すると、定数TXTに定義された「abc」が大文字に変換され「ABC」がメッセージボックスに表示されます。
Sub 大文字にする()
 Const TXT = "abc"
 MsgBox Strings.UCase(TXT)
End Sub

VBAのUCase関数をご存知だった場合、
  MsgBox UCase(TXT)
という書き方に慣れている方のほうが多いと思いますが、VBAの関数もオブジェクト式でおなじみの「.」を使った「モジュール.関数」といった書き方ができます。
上記プロシージャの
  MsgBox Strings.UCase(TXT)
は、この書き方です。

で、先のフリガナを取得する、
  MsgBox Application.GetPhonetic(TXT)
と大文字にする
  MsgBox Strings.UCase(TXT)
の形は、よく似ていると感じていただけるでしょう。

もしもGetPhoneticがVBAの関数だったならば、
  MsgBox GetPhonetic(TXT)
といった書き方もできたのでしょうけれど、あいにくExcelのApplicationオブジェクトのメソッドで、GetPhoneticはグローバルのメンバーにはなっていないので、
  MsgBox Application.GetPhonetic(TXT)
といった書き方をするわけです。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » フリガナを取得するApplication.GetPhoneticメソッド

「Applicationオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.