VBAを使ってGoogle検索をする件

プログラムと日本の社会

 

 「プログラム」とは、コンピューターに行わせる作業の手順を組み立てて、プログラミング言語で表したもの。

 「プログラミング」とは、コンピューターに行わせる作業の手順を、プログラミング言語を使って組み立てること。

 プログラミングは決して簡単なものではないが、基本をきちんとおさえておけばそれほど難しいものではない。

 プログラムのソースコードは、ネットで検索すると普通に紹介されているので、調べればけっこう簡単に手に入る。

 昨今、IT化する社会環境ではプログラミング需要が高まっている。

 

 現在、日本のGDPはアメリカと中国に次いで世界第3位。


 ただ、国民一人当たりで比較すると、G7における日本のGDPは下から数えたほうが早い。そのため、先進国のグループ内で見たとき、日本の生産性は低いと言わざるを得ない。 

 また、ご存知の通り、日本は高齢化社会で2020年現在の平均年齢は約49歳。これは世界でトップクラス。

 経済産業省の予想では、日本の総人口は2050年までに約1億人まで減少し、労働力人口(15~64歳)は2040年まで減少の一途を辿る見込み。【2018年9月 経済産業省の資料より】

つまり、労働者の人口は今後徐々に減っていく流れにある。

 そんな中で、日本を上手く運営し、経済成長をしていくためには国民一人あたりの生産性を高める必要がある。

 例えば、会社の業務では日々のルーチンワークなどの定型的な作業はプログラムを利用することで自動化が可能。それにより、高速でミスなく作業が実行でき、業務の生産性を高めることができる。

 

プログラミング言語の種類

 

 世の中には様々なプログラミング言語があり、目的に応じて使い分けるのが良いと言われている。

 例えば、とある調査による 2020年 プログラミング言語の人気ランキングは以下の通り。
(出典:https://www.bizlearn.jp/bizlearnlog/2284)

1位  C/C++
2位  Python
3位  JavaScript
4位  SQL
5位  C#
6位  Java
7位  VBA
8位  HTML/CSS
9位  PHP
10位  VB.NET

この中でも、最近のトレンドは「Python」

「Python」はプログラムのコードを比較的簡単に記述でき、AI開発や機械学習との相性が良いため、近年は需要が高まりつつある。

「JavaScript」「HTML/CSS」は、Webページを作成する上で重要なプログラム。これらはとくにソフトウェアをインスト―ルすることなく、パソコンがあれば使うことができるので、環境構築は非常にラクである。(というより、ほぼ必要ない。)

・・・そして、タイトル回収までに大分長くなりましたが、ここからが本題です!

ランキングの第7位にチャートインしているVBA

これについてお話しましょう!

 

VBAとは?

 

VBA」の正式名称は「Visual Basic for Applications」。

 Office製品で使えるプログラミング言語。

 Office製品には「Excel」という表計算ソフトが付いてくる。

 そして、「Excel」にはもれなく「VBA」が付いてくる。

  Excel は表やグラフ、書類を作る上でよく使われるソフトウェア。

 ひと昔前に「神エクセル」という言葉が生まれたほどですので、事務作業にExcelを使われている会社は今でも多いのではないでしょうか。(目的を度外視して、無闇にExcelを使うのは問題ですが)

 というわけで、今でもよく使われているであろうExcelですが、やはり複雑な作業になると、いちいち手作業をしていては非効率です。

 そこで高速かつ正確に作業をこなすために使われるのが、「VBA」なのです。

 Excelでは、VBAを使って作成したプログラムのことを「マクロ」と言います。そのため、「VBA=マクロ」ではありません。

 マクロを活用することで、人による手作業では何時間も掛かるものを、数秒で終わらせることが可能になります。

 

 私は自分の予定表をExcelで作成しています。自分なりにカスタマイズして。

 予定表の画面にはボタンがいくつかあって、それを押すと業務で使うソフトウェアが起動されてルーチンの処理を行ったり、必要なデータの集計や情報通知を行ったりします。

 そんなことをやっているうちに「ネットで調べるときにいちいちブラウザを開くのも面倒だから、Google検索もExcel画面からやってみよう!」ということで、Google検索を行うVBAを作ってみたので、今回はそれをご紹介します。

 こんなマニアックな使い方に需要があるかは分かりませんが(笑)、役に立つようでしたら是非ご利用ください。

 ちなみにこれは業務効率化とはあまり関係がありません。「VBAはこんなふうに使うこともできますよ」というニッチな事例紹介です。

 

【VBAでGoogle検索をする方法】

①Excelを起動して「Alt + F11」を押下。

②「挿入」タブの「標準モジュール」をクリック。

③プログラムのコードを貼り付け

▼貼り付けるプログラム▼(コピー&ペースト)

Sub Google検索()

Dim path As String      ‘// ブラウザのパス
Dim url As String        ‘// Googleの検索URL
Dim keyword As String    ‘// 検索キーワード

‘// エラー発生時に実行するプログラム先
On Error GoTo reigai:

‘// ブラウザのフルパスを指定
path = “C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”

‘// 検索URLを指定
url = “www.google.co.jp/search?q=”

‘// 検索キーワードを取得
keyword = InputBox(“検索キーワードを入力してください”)

‘// 検索キーワードが空欄のときはプログラムを実行しない
If keyword = “” Then

Exit Sub

End If

‘// ブラウザを起動してGoogle検索を行う
Call Shell(path & ” ” & url & keyword)

Exit Sub

‘// エラー発生時のプログラム
reigai:

MsgBox “この操作を行うには、オペレーティングシステムのファイル(chrome.exe)のアドレスが C:\Program Files (x86)\Google\Chrome\Application に無ければなりません。”, vbExclamation, “注意”

End Sub

 

④左上のExcelのアイコンをクリック。

 または「Alt + F11」を押下。

 

⑤Excel画面で「Alt + F8」を押下。

⑥ 「Google検索」を選択して「実行」をクリック。

 

⑦ 検索キーワードを入力して、「OK」をクリック。

【注意】キーワードを2つ以上入力するとき、文字と文字の間は全角スペースにする。

▼実行結果▼

 

 ・・・以上。あとはボタンを設置して、それを押せばマクロが実行されるようになれば多少は使いやすくなると思います。

▼マクロのボタンの作り方▼

https://office-hack.com/excel/macro-button/

 

 近年、業務効率化、生産性向上のためにRPA(Robotic Process Automation)を導入する企業が全体的には増加傾向にあるようです。2019年11月の時点で大手企業の51%がRPAを導入、中小企業は25%という調査結果があります。※RPAとは、一言でいうと「ロボットがソフトウェアになったもの」

▼参考URL▼

https://www.m2ri.jp/release/detail.html?id=391

 このデータで興味深いのは、中小企業のRPA導入率が 2019年1月時点では27%あったものが、その10か月後には25%に減少していることです。RPAのロボットは無料で借りられるものもあるようですが、当然ながら試用段階で十分に検討する必要がありそうです。

 RPA導入は経費で処理できるような安い買い物ではありません。

 費用はサプライヤーやロボットの種類によって様々ですが、おおよそ①初期費用、②月額費用、③保守費用、④導入支援費用 ・・・がもれなく発生するため、百万円単位の出費は覚悟したほうがいいでしょう。

 一方、VBAは無料で使えます!Excelで出来ることは全てVBAでプログラミングできます。

 さらに、Windowsに標準で用意されているAPI(Application Program Interface)を使用すれば、Excelではできない処理をVBAで行うことができます。(例)VBAの処理を一定時間休止させる、音声を再生する、時間を計測するなど

 そんなわけで、VBAでマクロを組んで業務を自動化すれば、それだけでまだまだ生産性を高められるチャンスがある!・・・という話でした。

ほな、おおきに。

Kikujiro


雑学・豆知識ランキング

次のページ 美しいは正しい ≒ カワイイは正義!?

前のページ 黄金比

 

 

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *