【Word VBA】文字列関数の楽しみ方

2010年6月22日

ワードのプログラミングをしていて少しすると、「文字列を操作する関数」に出会います。

この呼び方は、「簡単プログラミング Excel 2003 VBA コントロール・関数編」によるものですが、「できる大辞典 Excel VBA」では、「文字列関数」と呼ばれています。

エクセルの本ばかり紹介しましたが、「Wordで実践」でも、例題の中でたくさん使っています。

この本では、個別の関数について詳細説明が載っているわけではありませんが。

英語では、「String Functions」です(Learning Word Programming P.89)。

出会い

私がこの文字列関数を知ったときは大きな衝撃をうけました。

それまでやりたくてもやり方がわからなかったことが、あまりにも簡単にできてしまうのです。

たとえば、取得した文字列の中に含まれている文字を探したり、一部を切り取ったり、文字の長さを調べたり。

ワード文書中に書かれている文字列を調べるのは簡単です。

選択範囲の開始位置と終了位置の差を用いて、選択範囲の文字の長さを数えられます。

検索ダイアログを使って、特定の文字を探し出したり、切り出したりできますね。

でも、いったん取得した文字列(ワード文書中にない文字列)にたいして操作する時って、また別の考え方が必要なんですね。

言っている意味が、うまく伝わるでしょうか?

文字列関数の例

たとえば、あるファイルの保存場所を取得します。

これって、ワードの文書中に書かれている文字ではなくて、ワードファイルがもっている情報ですね。

「保存場所を取得する」っていう関数があるのですが、その結果得られるものはこんな感じ。

C:\Users\ユーザー名\Documents\ワードの資料\ワードマクロ.doc

で、こんな感じで取得した文字列(上のアドレス全体)から、文書の名前を取り出したり、その文書が保存されているフォルダの名前を取り出したり。

でこういう作業を手軽にしてくれるのが、文字列関数です。

この文字列関数の使い方をいろんな例文を読んでみると、プログラマーの考え方がわかってきて、その考え方の美しさに感動するときもあります。

文字列関数の遊び方

今、無理矢理覚える必要はないと思います。

このブログを読んでいてなんとなく眺めているくらいでいいのかも。

それよりも、自分でマクロを作ってみて、こんな機能ないかな?ということをたくさん妄想してみてください。

私たち初心者が「ほしいな~」と思う機能は、先人が当たり前に「ほしいな~」と思ったものですから、たいていの機能は用意されています。

そんなものです。

なので、私たちは、ひとまずは「何をしたいのか」を具体的に絞り込むクセをつけるといいと思います。

絞り込めば絞り込むほど、新しい関数に出会ったときに「使い道」をひらめきやすくなりますね。

そういう学び方でいいんじゃないでしょうか?

関数を一つずつ勉強するよりは、出会ったときが使いどきくらいの気持ちでやっていきましょう。

で、今後、ときどきこの「文字列関数」のテーマで記事を書いていきます。

関連記事

-コード
-, ,