2008年05月24日

『手抜き』 支援!

さて、Excel 2007 以前のユーザーの皆様、

お待たせしました!


VB版 『手抜き』 支援

マクロを含む Excel ファイル ダイアログなし読込ツール


あの煩わしい、起動時にマクロを有効にするか否かを問い合わせるダイアログ、あれに引っかかること無しに Excel ファイルを開いて、そして勝手に閉じて勝手に終了しちゃう実行ファイルです。


えっ? 開いたのに閉じちゃ意味ないだろうって??


ところが、どっこい・・・


Excel マクロ には、開いた時に自動的に実行するプロシジャーを書くことができます。本来、初期設定用なんだと思いますが、こいつを悪用・・・ あ、いや、利用してやれば開いたと同時に目的のマクロを走らせることが出来ます。

まぁ、悪用した代表格はいわゆるマクロウィルスって奴な訳ですが、自分で書く分には安心して利用できますよね。

Visual Basic Editor を開くと ワークブック 自体の振る舞いを定義する ThisWorkbook というオブジェクトが定義されています。このオブジェクト内で

Private Sub Workbook_Open() 〜 End Sub

を定義してやると、その内容をワークブックが開いた時に実行してくれるのです。つまり、ここから目的のマクロを呼び出しておけば、開いた時に勝手にマクロを実行してしまう訳です。

そのように設定したブックをこの 『手抜き』 支援ツール を使って呼び出すと、マクロを有効にするか否かを問い合わせるダイアログに引っかかることなくワークブックを開き、それと同時にマクロが実行され、Workbook_Open() の処理が終わったら勝手にワークブックを閉じてくれるって寸法なわけです。

この実行ファイルの趣旨は、まぁ、そういったところですが、この実行ファイル自体も 『手抜き』 に特化した仕様にしてあります。

実行ファイル forExlMacro.exe 自体をダブルクリックなどで起動した場合、ダイアログが起動します。ワークブックを選択して実行ボタンを押すことで上記の動作をするわけですが、そんな手作業をするくらいなら Excel で直にひらいてマクロを有効にするダイアログを操作したほうがマシですよね。

なので、ドロップターゲットにしてあります。ワークブックを掴んで forExlMacro.exe にドロップしてください。それでも上記の動作を実行してくれます。

えぇ? それでも意味ないですって??

それじゃぁ、スタートメニューの ファイル名を指定して実行 ってところからこの実行ファイルを指定して、引数にワークブックを絶対パスで指定しても OK ですよ。

えぇ〜? そんなの面倒くさいって・・・??

もぉ〜〜・・・

じゃぁ、タスクマネージャー でも使って指定した時間に勝手に実行するようにでもしちゃってください。なにもしなくても、一度設定さえしちゃえば指定どおりに勝手に実行してくれますよ!


ってな具合で、私の仕事場でのマシンではいくつものマクロが勝手に走っているんですが、知らない人が見てると目を丸くします。

だって・・・ ディスプレイにあるときいきなり Excel が起動して、そして大量のワークブックを開いたり閉じたり書き込んだり・・・ 確かに知らなければ不気味かもしれませんよね。幼い頃、ピアノの自動演奏が不気味だったように・・・


って、あっ、そうそう、ダウンロードですよね。VBで作成しましたので、VBのランタイムが必要です。ランタイムが既にインストールされていれば実行ファイルのみで十分です。ランタイムが無い、あるいは実行ファイルだけでは動かなかった場合にはパッケージをダウンロードし、セットアップを行なってください。

実行ファイルのみの場合はこちら

パッケージのが必要な場合はこちら
解凍して Setup.exe を実行してください。


ラベル:マクロ EXCEL
posted by Woody at 00:28| Comment(0) | TrackBack(0) | Excel マクロ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。