7
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Excel VBAからMeCabで形態素解析したい時

Last updated at Posted at 2021-01-18

誰にでも形態素解析したい時があります。それは、Excel VBAを使っている時でもあってもです。Excel VBAから形態素解析を使う方法はいろいろあります。でも、もっと簡単にやりたいのです。メソッド一発でシートにMeCabの結果をバーンと入れたいんです。

そこで、MeCab for Excel VBAを作りましたので、これを使って手軽に形態素解析しましょう。これを使うと、以下のような簡単なコードでセルに形態素解析の結果が得られます。

形態素解析.bas
Sub 形態素解析のテスト()
    ' テスト用の文字列を指定
    TestStr = "探すのに時があり、諦めるのに時がある。"
        
    ' シートに結果を入れる
    MeCabExecToSheet TestStr, Sheet1, 1

    ' 文字列として結果を得る
    MsgBox MeCabExec(TestStr)
End Sub

mecab.png

(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

簡単ですよね!良かったら使ってみてください!

参考

7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?