« 2009年1月 | トップページ | 2009年3月 »

2009年2月の5件の記事

2009年2月28日 (土)

VBAのイベント処理を学ぶための必読書の紹介

これはすごい。、「簡単プログラミングExcel VBA 応用編」の紹介です。

以前、「コントロール」のおすすめ入門書の記事で、「簡単プログラミングExcel VBA コントロール・関数編」を紹介させていただきました。

2ヶ月前ですが、コントロール画面を用いるマクロ作成にはまっていたときに、この本のおかげで、スムーズに知識を習得させていただいたおかげで、効率のいい試行錯誤ができました。

今では、ヘルプとこの本を見れば、自分が欲しい程度の簡単な表示画面は自分で作れるようになりました。

そうこうしているうちに、プログラミングの欲がでて、クラスモジュールを用いた「イベント」時の対処方法を詳しくしりたくなってきました。

たとえば、「文書を開いたときに●●する」、とか、「文書を閉じたときに△△する」、などという処理を学んでいました。(関連するマクロはいつか紹介させていただきます)

で、この「簡単プログラミングExcel VBA コントロール・関数編」の応用編を書店で立ち読みしたら、クラスモジュールの説明やその内容がすばらしく、即効購入しました。

何がいいのかというと、「イベントプロシージャ」の説明はもとより、私が今まで知りたかった、「プログラミングの基本構成」や「引数付きサブルーチン」についても非常にわかりやすく記載されていたわけです。

私が知りたい内容はVBAの共通事項なので、Excel用の書籍ですが、十分にWordにも使えるわけです。

例によって、飛ばし読みと自分がほしい内容しか見ていないので、全てを読んだわけではないのですが、こういう辞書的な読み方にしても、項目ごとの説明が充実しているので、内容を理解しやすいのが本書の特徴だと思います。

先週紹介した「段落番号の削除 改訂版」のマクロでは、さっそく引数つきのプログラムを作成してみました。

付録でついている「FaceID一覧」のソフトも重宝します。

FaceIDというのは、ツールバーのボタンの表示画像に割り当てられた番号のことです。

もともとボタンに入れられる図柄はたくさんあるのですが、デフォルトだと選べる数が限られています。

これを一覧にして、簡単に選べるようにしてくれたのが、この付録の一覧です。これだけでも調べる手間が減るという意味で大変な価値がありますね。

この後、ようやく「簡単プログラミングExcel VBA 基礎編」を買ったわけですが、これもすばらしい本でした。もっと早く読んでいればよかったと思いました。この本については、次回紹介します。

| | コメント (0) | トラックバック (0)

2009年2月21日 (土)

段落番号の削除 改訂版

2009年5月12日に、rangeオブジェクトを用いたコードに改訂しました。最新版はこちら

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

Paranum_removal_2以前紹介した段落番号の削除を、より使いやすく改良しました。

「paraRemove_2.dot」をダウンロード 

●改良点
①スピードアップ
②1ページに表示される行数を増加
③段落番号[0001]の後に半角スペースがある場合も対応

●プログラムの工夫
①プロシージャを部品化しました。
つまり、今までのように、ひとつの大きな処理のプログラムではなく、小さな処理単位を複数組み合わせたプログラムを作りました。

これは、プログラミングを学んでいる人にとっては基本的な考えらしいのですが、私は今まで知りませんでした。

メリットは、小さな処理単位にするので、処理単位のプログラムを他の目的でコピペして使えることや、エラーの発見がしやすいことなどがあります。

新しく習った技術なので、とりあえず使ってみたくてやりました。

小さな処理単位にしすぎで、わかりにくくなっているかもしれませんが、ご了承ください。

引数付でプロシージャを呼び出す方法も試してありますので、ご確認ください。便利な機能ですね。

②段落番号を全て読み込んでから、書き出しファイルを作成
前回のプログラムでは、段落番号をコピーして、書き出し用ファイルにペーストする処理をひたすら繰り返しました。

私のプログラムは、全てselectionを用いているため、処理のたびにカーソル移動があります。よって、「上記のコピペ処理をすること=二つの書類の行き来をすること」となるため、処理に時間がかかりました。

今回は、元の書類で、段落番号を全て読み込んでから、新しい書類を開いて段落番号をペーストしています。よって、書類を行き来する回数が減ったため(1回になったため)、処理スピードが上がりました。

●表示例
ボタンの色を前回のものと少しだけ変えて、黄色文字にしました。
Paranum_removal_21

| | コメント (0) | トラックバック (0)

2009年2月13日 (金)

選択範囲の参照符号を削除するマクロ

以前、参照番号の削除という記事で、参照符号をひとつずつ目で確認しながら削除するプログラムを紹介いたしました。

ここでいう参照符号とは、特許明細書で文章中に記載された括弧で囲まれた英数字を意味します。

今回は、あらかじめ選択した範囲に記載される半角丸括弧「(」と「)」とで囲まれた文字列を削除するプログラムを紹介します。

「refnum_remove_within.dot」をダウンロード

●使い方
マクロをインストール後(インストール方法はこちら)、参照符号の記載されている英文書類を用意します。

Refnum_remove_within 左のように、ツールバーに、「()」が□で囲まれたマークのボタンが表示されます。

対象となる部分を選択します。

上記ボタンをクリックします。

効果をいち早く体験してもらえるように、サンプルの文書を添付します。お試しください。

「sample_claim.doc」をダウンロード

クレーム中に記載された参照符号が一瞬で削除されて、別紙に抜き出されます。

●工夫
削除したくない符号には、下線をひくと、削除されずに残ります。

削除したものを後で確認できるように(意図しない文字列を削除することを回避するために)、参照符号を別の文書に書き出すようにしました。

また、書き出した数も表示しますので、「達成感」というか、「お得感」を見える化してみました。

| | コメント (0) | トラックバック (0)

2009年2月 8日 (日)

マクロの簡単インストール方法の紹介

(2009年3月28日に情報を追記しました。詳しくはこちらへ。なお、この2009年2月8日付けのマクロも最新版にアップデートしました。)

今回は、趣向をかえたマクロの紹介です。

今まで私が作成したマクロテンプレート(マクロが記録されているテンプレート文書)は、ワードの「スタートアップフォルダ」や「ユーザテンプレートフォルダ」に保存することが前提になっています。

しかし、「これらのフォルダを探してマクロテンプレートを保存すること」=「マクロをインストールすること」は、比較的面倒というか、知識がないと出来ないため、それがマクロの利用していただくためのハードルのひとつになっていると感じていました。

さらに、私自身、フォルダの場所の探し方をうまく説明できないので、もどかしさを感じていたところです。

そこで、今回は、マクロテンプレートを自動でインストールするためのマクロを作成しました。

●使い方
マニュアル(macro_installer_usermanual)を作成しましたので、ご覧ください。このマニュアルに、自動インストールマクロ(macro_installer)の使い方や保存方法が記載されています。

「macro_installer_usermanual.doc」をダウンロード

「macro_installer.doc」をダウンロード

なお、macro_installerはマクロを含む文書のため、ダウンロード時に警告が出る可能性がありますが、ウィルスではありません。気にせずにダウンロードをしてください。

●工夫
以前、「コントロール」のおすすめ入門書にて紹介した書籍を参考にして「コントロール画面」でインストール操作をするようにしました。

Macro_installer

また、ワード文書そのものからマクロを実行させるという仕組みも初めて作りました。案外いろんなことができるものです。

お試しください。

●書籍の関連ページ
ワードで実践」に関連ページがありますので、ご参照ください。

P279の「隠しフォルダを表示させる」の記事に、テンプレートフォルダ(Template)の場所が示されています。

また、P285~P290に、セキュリティの設定方法とアドインの方法が細かく記載されています。

| | コメント (0) | トラックバック (0)

2009年2月 1日 (日)

アルクの「英辞郎 on the WEB」で検索(右クリックでグーグルの続編)

以前紹介させていただき好評だった選択した文字列をグーグルで検索するマクロの続編です。

ご愛用者の方から、アルクの「英辞郎 on the WEB」でも同じように検索結果を表示するマクロがほしいとのご提案をいただき、さっそく作ってみました。

便利ですね。ご提案をありがとうございました。

プログラムの基本は、グーグルの場合と同じです。表示するページのURLを示す着色部分だけを変更しました。

●プログラム

Sub 英辞郎で検索()

Dim word As String

Dim URL As String

word = Selection

URL = "http://eow.alc.co.jp/" & word

ActiveDocument.FollowHyperlink Address:=URL, _

NewWindow:=False, AddHistory:=True

End Sub

| | コメント (4) | トラックバック (0)

« 2009年1月 | トップページ | 2009年3月 »