メモ帳やブラウザを自動で起動させる方法 − GoGoマクロ!のWebサイト

HOME > レッスン > メモ帳やブラウザ自動起動

メモ帳やブラウザを自動で起動させる方法


pickup
応用力を身に付ける!(このページの便利な活用法)




今回は、ちょっと私自身の作品も・・といいますか、普段より私が実際に活用しているマクロのいくつかをご紹介してみたいと思います。

当然のことながら、私は自分や会社で使うための便利なマクロをいくつも作って、日々の業務で活用しているわけなんですが、(その殆どはここで紹介するにはちょっと難易度が高すぎると思うものが多いわけではありますが、)

その中から特に簡単に作れて、部分的にでも役立ち、便利な、という観点で厳選したものをピックアップして、私が実際に活用している事例や、おすすめするポイント等を交えてご紹介していきたいと思っています。


で、まず第1回目の今日は、表題の「メモ帳やブラウザを起動させる」というマクロをご紹介します。

これは、簡単なわりに意外と便利で、実際に私も事あるごとに多用して使っているものですので、ぜひご参考にしていただければと思います。



1)
まず、簡単なマクロを作ります。
――――――――――――――――――――――――――――+
1.エクセルを起動させます。(空のエクセルを立ち上げてください)

2.まず、今回は最初にプログラムの方の画面を表示させます。
 [開発]タブの[コード]で [Visual Basic]をクリック。

3.そうしたら、この画面の上方にあるメニューから
 [挿入(I)] → [標準モジュール(M)] を選んでください。

4.すると、右側の画面が白く変わってプログラムが書き込める
 状態になったと思いますので、そこに、以下の3行のプログラム
 を書き込んでください。

Sub Test1()
  Shell "notepad", 1
End Sub

5.では、このTest1を実行します。エクセルの画面に戻って、
 [開発]タブの[コード]で [マクロ] をクリック → 「マクロ」
 画面が出るのでそのまま[実行]をクリック。
――――――――――――――――――――――――――――+

すると、空の(無題の)メモ帳が立ち上がってきたことと思います。

この実質1行だけの(いわゆる1行マクロ)

  Shell "notepad", 1

ですが、この Shell というのは、実行可能プログラム(アプリケーション)を自動的に起動するための関数です。

この場合は、この1行のマクロで notepad という名前の実行可能プログラムを起動させる、という意味になりますが、 この notepad とは、皆さんよくお馴染みの「メモ帳」のこと(メモ帳のプログラム名)になります。


また、この行のお尻に付いている , 1 というのは、この Shell関数 によって起動したプログラムの画面(この場合はメモ帳の画面)を前面表示にする、という意味となり、起動したプログラムのウィンドウのスタイルを指定しています。

ちなみに、この数字を 2 に変えると、ウィンドウが最小化された状態となり 3 にすればウィンドウが最大化表示となります。


また、起動するプログラムを「メモ帳」でなく「ワード」にしたい場合なら、

  Shell "winword", 1

で、「パワーポイント」なら、

  Shell "powerpnt", 1

というようにします。(ワードのプログラム名が winword で、パワポがpowerpnt という名称です。)



2)
では次に、このプログラムをちょっと修正します。
――――――――――――――――――――――――――――+
1.この1行マクロ

  Shell "notepad", 1

 を

  Shell "explorer http://www.yahoo.co.jp/", 1

 に修正します。

(explorerとhttp:との間には半角スペースが必要です。
 少々長いので打ち間違いを防ぐ為になるべくこれをこのまま
 コピー&貼り付けしてください。)

2.では、エクセルの画面に戻って実行します。
 [開発]タブの[コード]で [マクロ] をクリック → 「マクロ」
 画面が出るのでそのまま[実行]をクリック。
――――――――――――――――――――――――――――+

すると、今度はブラウザが立ち上がって、見なれた「Yahoo! JAPAN」のトップページが表示されたことと思います。


当然のことながら、この1行マクロの中のURLを示す部分

 http://www.yahoo.co.jp/

を、他のURLに修正して実行すれば、自動的に起動したブラウザにそのURLのページが表示されるということになります。


マクロで集計等した結果のデータをWebページに載せるような場合にも、例えばですが、マクロの実行結果を毎日、ホームページやブログなどにアップさせるような場合に、データの場所を指定して予めコピーして置き、

 Range("A2:B10").Select
 Selection.Copy
 Shell "explorer.exe http://blog.ameba.jp/・・・", 1

としておけば、(通常なら、コピーする範囲を選択 → Ctrl+C でコピー →ブラウザの起動 → お気に入りから目的のページを選ぶ → Ctrl+V で貼り付け、といった一連の手順となると思いますが、)これなら自動で立ち上がった更新ページにそのまま Ctrl+V して貼り付けてやるだけとなりますので、これは非常に楽です。


私の場合も実際に自分のアメブロにこのマクロを活用して毎日の更新をしておりまして、

1.処理マクロの実行ボタンを押す。
2.そのマクロが終了して自動起動したアメブロ更新画面に Ctrl+V して
 マクロ処理結果のデータを貼り付ける。
3.タイトルを入力して、1〜2行のコメントを書き込み[公開]のボタンを押す。

たったこれだけ、(コメントの書き込みを除いた操作にすると)たったの3クリックするだけで更新完了ですので、毎朝の更新がとても楽です。


それと同様に、最初にやった「メモ帳」を開くための1行マクロの場合でもnotepad の後ろにスペース+ファイル名(メモ帳で開くことができるテキスト形式などのファイルのフルパスでのファイル名を、例えば、

  Shell "notepad D:\My Documents\作業週報.txt", 1

のように指定して、既存の処理マクロの最後にでもこの1行を追加しておけば、マクロ処理終了と同時にこのファイルが自動的にメモ帳で開いてきますので、作業メモなどその場で書き込んでおけば、あとで報告書を書く時に忘れて困るといった心配がなくなります。

これの具体的な活用例を私の場合で言いますと、 マクロで処理したデータをホームページにアップするためにhtmlのファイルをメモ帳で開いて更新するといった場合が、多い時で週に3〜4回はありますが、 マクロ処理の結果によって更新すべきページが毎回異なりますので、立ち上げるファイルを処理結果によって場合分けをして起動させるということをしています。


同様なもので社内で活用している例では、何かのデータ分析をするマクロを実行して、出てきた結果によってその次にやる作業の内容が違ってくるような場合に、おのおのの作業手順を記載したテキストファイルを下記のようなマクロで起動させるようなことをやっています。

++++++++++++++++++++++++++++―
  Range("B2").Select
  a = ActiveCell.Value
  If a < 0 Then
    Shell "notepad D:\My Documents\手順書1.txt", 1
  ElseIf a = 0 Then
    Shell "notepad D:\My Documents\手順書2.txt", 1
  ElseIf a > 0 Then
    Shell "notepad D:\My Documents\手順書3.txt", 1
  End If
++++++++++++++++++++++++++++―

上記の例では、分析結果を示す値のB2のセルのデータがマイナスなら手順書1を、ゼロなら手順書2を、プラスの値なら手順書3をそれぞれ自動表示させていますので、作業者は表示された手順書に従って、その後の作業をすればよいというだけになっています。

実際にはもっと複雑なIF文での判断になりますので、中々慣れない新人の人などがやる場合には、結果を見ても判断ができずにそのあとにするべき作業に迷ってしまって、いちいち毎回私の所に聞きに来るなんてことが以前はよくあったわけなんですが、このようなマクロをちょっと付け加えたことで、そのようなことが殆ど無くなって作業効率は格段にアップした感があります。


あと、それに関連しますが私自身が何かの作業をする上で最も多用しているのが、作業フォルダを自動で立ち上げるというマクロです。

何かのマクロを実行したあとに、次にやるべき作業のファイルが入っているフォルダを自動で開くのですが、プログラムはこのようになります。

  Shell "explorer D:\My Documents\A社コンサル用", 1

この1行で特定のフォルダが開きます。 作業フォルダというのは誰しも整理が中々できていないものです。ファイル名も似たような名前のコピー複製ファイルが散乱している場合も多いですよね。

私の場合も、このA社コンサル用というフォルダの中にはA社関連のファイル一式が散乱状態で格納されています。

そんな中でも、次の作業で使うファイルはこれだ!とフォルダ内を目で見て 必要なファイルを開く、ということは案外た易いことですから、ダイレクトに ファイルを開くのではなく、その作業フォルダが開いてくれた方が自分で選べてよいとい場合が大半です。

うまく説明ができませんが、これは実際に使ってみるとすごく便利ですので 何らかのマクロ実行をしたあとで次にすべき作業の作業フォルダを自動で起動するという命令文をそのマクロ処理の終わりに入れておくという方法は、特におすすめですので、

私の作った業務用マクロの最後には、次にやるべき作業のファイル郡が入った 作業フォルダを自動立ち上げするこの1行

  Shell "explorer 次にやるべき作業の作業フォルダのフルパス名", 1

は、最近作ったたいがいのマクロに挿入してあります。 これは非常に便利なので、ぜひこのマネすることをおすすめしたいです。


今回はこれで終了です。


NEXT >>
他のブックにデータを自動転記する