誰にでも形態素解析したい時があります。それは、Excel VBAを使っている時でもあってもです。Excel VBAから形態素解析を使う方法はいろいろあります。でも、もっと簡単にやりたいのです。メソッド一発でシートにMeCabの結果をバーンと入れたいんです。
そこで、MeCab for Excel VBAを作りましたので、これを使って手軽に形態素解析しましょう。これを使うと、以下のような簡単なコードでセルに形態素解析の結果が得られます。
Sub 形態素解析のテスト()
' テスト用の文字列を指定
TestStr = "探すのに時があり、諦めるのに時がある。"
' シートに結果を入れる
MeCabExecToSheet TestStr, Sheet1, 1
' 文字列として結果を得る
MsgBox MeCabExec(TestStr)
End Sub
(1) MeCabのインストール
最初に、MeCabをインストールします。Windows版のMeCabは以下よりダウンロードできます。
親切なインストーラーがあるので、次へ次へと押していけば入ります。気をつける点ですが、Excelから使う時は、Shift_JISを使うのが便利です。途中で辞書の文字コードを指定する必要がありますので、Shift_JISにしてください。
(2) MeCab for Excel VBAを取得
以下で公開しています。Releaseでアーカイブをダウンロードしてください。ダウンロードしたらZIPファイルを解凍して、中に「mecab.bas」があるのを確認してください。
なお、サンプルのsample.xlsmを開いて、VBエディタのサンプルを実行することもできます。
(3) Excel VBAにmecab.basを取り込む
- (3-1) Excelで新規マクロ有効ブックを作ります。
- (3-2) [Alt]+[F11]を押してVBエディタを起動します。
- (3-3) メニューの[ファイル > ファイルのインポート] をクリック
- (3-4) 手順2の「mecab.bas」を選択
(4) Sheet1にVBAのコードを書く
VBエディタで、Sheet1などを選んで、以下のコードを書きましょう。そして、Sub ... End Subの間にカーソルを置いて、[F5]キーを押せばプログラムが実行されます。
Sub 形態素解析のテスト()
' テスト用の文字列を指定
TestStr = "探すのに時があり、諦めるのに時がある。"
' シートに結果を入れる
MeCabExecToSheet TestStr, Sheet1, 1
' 文字列として結果を得る
MsgBox MeCabExec(TestStr)
End Sub
簡単ですよね!良かったら使ってみてください!