ゆんの業務改善ブログ

①生産性向上 ②業務改善 ③自動化 について情報発信しています。VBAプログラムは本当初心者から他のアプリケーションを呼び出して使う上級者的な使い方まで幅広いレベルで解説していきます。

【非エンジニア限定】業務改善におすすめのプログラミング入門言語 3選 + 厳選入門書

自分の仕事もいつか自動化されてしまうのではないかと不安になったことはありませんか?そんな人は、いっそのこと自動化する側にまわって、業務改善ができるワンランク上の会社員を目指しましょう。

目次

業務改善のために、初めて勉強するプログラミング言語を選ぶ

初めて勉強するプログラミング言語を何にするか決める前に、挫折原因となる罠を見ておきます。ありがちなのは、ネットでプログラミング言語を調べて「コレがよさそう」などと考えてしまうことです。ネットで調べて出てくるプログラミング言語はほぼ全て、将来エンジニアになりたい人向けのプログラミング言語の紹介です。非エンジニアの目的は目の前の業務を改善することです。目の前の業務を思い出せば、それを扱うのに向いた言語を選ぶだけです。何を初めてのプログラミング言語として選ぶか、は半分終わったようなものです。

初めてのプログラミング言語の選び方

普段仕事で時間が取られている作業や、今後取り組みたい改善対象はどんな業務か考えてみて下さい。

  • エクセルの手作業を自動化したい
  • Google Suiteで利用しているGmailやGoogleスプレッドシートの作業を自動化したい
  • データの整理やPDFの読み込みなどの作業を自動化したい
  • ユーザーの要求に応じて動作するWebサービスを作りたい

メジャーな例を挙げるとこのような感じです。自分の場合に置き換えて考えてみて下さい。

今挙げたような作業はいろいろな方法で実現する事ができます。その中でも最もその作業を改善/自動化しやすいプログラミング言語を選択するというのが、初めて勉強するプログラミング言語を選択する方法です。ここまで読まれた方は改善したい
業務が既に明らかになったので、プログラミング言語選びは半分終わりました。あとは、具体的に自分のニーズに当てはまる言語と入門書を選べばOKです。

Excel VBA (Visual Basic for Applications) ~エクセルの業務改善に最適~

日常的にエクセルを利用している割合が多い人は是非とも一番目に身に付けたいプログラミング言語です。手作業で行う事ができる操作はほぼ全てVBAでプログラミングする事ができます。また、エクセル作業は似たような業務が多い為、VBAは勉強の量に対して実力を生かす機会がとても多いプログラミング言語と言えます。アウトプットの機会を日常業務の中で得やすいため、とても挫折しにくいプログラミング言語といえます。また、インターネット上でもたくさんの情報がありますし、書籍もたくさんあるので、分からないところを調べやすい利点があり、つまづきにくい点も重要です。

<参考:1冊目のVBA入門書にオススメの本>
業務改善をプログラミングを通して実現するイメージがわいてくるVBA入門書として、「ストーリーで学ぶExcel VBAと業務改善のポイントがわかる本」を紹介したいと思います。この本の私の詳しいレビューは VBA初心者の独学本1冊目のレビューをご覧下さい。

ストーリーで学ぶExcel VBAと業務改善のポイントがわかる本 Visual Basic for Applications/武藤玄【1000円以上送料無料】

GAS (Google Apps Script) ~GmailやGoogleスプレッドシートの業務改善に最適~

GASはGoogleが提供しているGメールやGoogleスプレッドシートでの業務改善に最適なプログラミング言語です。マイクロソフトOfficeのアプリ(エクセル、パワーポイント、アウトルック等)をメインに使っている企業がVBAを使うのに対して、G Suiteや無料のGoogleアカウントで利用できるGoogle Apps(スプレッドシート、スライド、Gメール等)を使っている企業はGASを使う、といった感じです。

GASはJavaScriptという言語と基本部分が同じであるという特徴があります。JavaScriptはウェブサイトを閲覧するためのブラウザ上で動作させる為の言語です。GASはブラウザ上で動くのでJavaScriptと共通の文法があると言うことです。それに、Google Appsを操作する為の独特の機能を追加したモノを加え、ブラウザそのものを操作する機能をなくした物がGASです。GASを勉強する事によって、将来Webアプリを作る時にJavaScriptの知識がある程度ある、というメリットがあります。

<参考:1冊目のGAS入門書にオススメの本>
GASでオススメしたいのが「詳解!Google Apps Script完全入門」です。とても基礎的なところから多くのイメージ図とサンプルプログラムで解説されています。そのため、JavaScriptはもちろんのこと、プログラミング自体が初めてでもスンナリと入門することが可能です。第6章のオブジェクトの仕組みが最初の山場となります。ここで挫折しないコツは、第8章以降の具体的なプログラムの解説と同時並行で読み進めることです。実はオブジェクトやクラス、インスタンスというのはプログラミングが初めてだと、なかなか理解しにくい概念です。

具体的に手を動かして、目の前のメールやスプレッドシートを動かしているうちに「そういうことか!」と分かってくると思いますので、第6章でつまづきそうな方は先に進んで、後から戻ってくればOK。後から戻ってくるとびっくりするくらいわかりやすいです。


詳解!Google Apps Script完全入門 Google Apps & G Suiteの最新プログラミングガイド/高橋宣成【合計3000円以上で送料無料】

Python ~フォルダの整理やPDFの読み込み、Webページの読み込みなど多岐に対応可能~

Pythonは汎用言語として有名なプログラミング言語です。VBAがエクセルなどのOfficeのアプリの操作用、GASがGoogle Appsの操作用だったのに対して、Pythonは様々なアプリを操作する事ができます。例えばPDFから文字を読み取って、基幹システムにアップロードするためのcsvファイルに変換して保存しておく、と言った様な業務の自動化が考えられます。基本的な文法はVBAやGASに引けを取らない簡単さです。

一方、VBAやGASと違って取り扱える対象が限定されていないため、操作したいモノを操作する為にモジュールやフレームワークと呼ばれるプログラムの塊を呼び出して使う場面が出てきます。この部分がVBAやGASより難しいと思います。プログラムの基礎文法自体は難しくありませんが、他のアプリの機能を自由に呼び出して使う事が難しいと言う事を理解しておくと、その場面になった時に挫折しにくいと思います。

<参考:1冊目のPython入門書にオススメの本>
Pythonの1冊目の入門書としてオススメなのが「いちばんやさしいPythonの教本」です。この本はPythonの第一の関門である環境設定から基本文法、サードパーティ製パッケージを使ったウェブアプリの入口までを解説しています。繰り返しや条件分岐(もしAの場合はBをする、Cの場合はDをすると言うような処理の分岐のこと)はこの本で確実に身に付けられます。ちゃんと手を動かしながら学ぶと言う原則を守れば、この本を使えば基礎文法までなら挫折せずに身に付けられるはずです。

注意しなくてはいけないのは、この本はPythonの基礎文法が身につくところまでだと言うところです。VBAやGASの場合はアプリ特化型のプログラミング言語なので、基礎文法が身につくということがそのまま、ある程度自動化できる事と同じ意味でした。Pythonの場合は自動化をするためには、Pythonの基礎文法に加えて操作したい内容に応じたモジュールの利用が必要となります。そこで、カタログ的にいろいろな作業のサンプルが勉強できる良著を追加で紹介します。

<参考:1冊目のPython入門書の後に自動化の実務に向けてオススメの本>
2冊目でおすすめは、「退屈なことはPythonにやらせよう」です。全くの素人ではやや難しい印象ですが、丁寧に読み込んで、サンプルコードを写経していくうちに、Pythonが自分の手になじんでいく感覚が身についていきます。私自身がそうでした。

Pythonは機械学習など高度な技術にも使われますが、エクセルやPDFの文字の読み込みなど比較的親しみやすい内容にもばっちり対応できます。Webからの情報取得なども可能です。この本はそういった実務的な課題を自動化するのに取り込むべきモジュール名や使い方が解説されているため、自動化カタログや逆引き辞典的な使い方ができる本です。前から読み進めるのではなく、自動化したい作業を引いて調べる事ができます。

また、これらのサンプルコードを写経して基礎的なモジュールの使い方を学んだり、内容を書き換えて実務で使えるように改造することも可能です。実際、プログラミング言語を身に着けるにはサンプルコードを写経するだけでなく、実務で使えるように書き換える、改造するという行為が大変勉強になります。辞書的としても勉強用としても重宝する一冊です。手元に置いておきたい一冊です。(重くて持ち運びには不向きです)

なお、Pythonの基礎文法が前半に解説されています。浅いコピー、参照といった本質的でありながら初心者が何となくわかったような気になって流してしまいがちな点についても丁寧人触れられています。

さらに私がこの本をオススメするわかりやすさ、使いやすさ以外の理由は、Pythonの流儀を感じられる本だからです。Pythonはパイソニスタと呼ばれるPythonを愛する人達がいて、プログラミングとはこうあるべき、という流儀、考え方があります。変数名の付け方や解説のための何でもいい変数名*1、基本文法に宿る考え方などについて初心者の内から触れられることは貴重だという思いも、この本が良いと思った理由です。

業務改善にオススメのプログラミング入門言語まとめ

業務改善に役立つ一言語目のオススメについてまとめます。

  • エクセルなどOfficeをよく使うならVBA
  • GメールなどGoogle Appsをよく使うならGAS
  • いろいろなアプリの操作やネットからの情報取得をするなら汎用言語のPython
  • Pythonは基礎文法の習得だけでなく、モジュールの理解が必要

というわけで、PythonはVBAとGASに比べて、実務で自動化につなげるためのステップが一つ多いことが要注意でした。一番大切な事は、何をしたいのかを明確にすることです。「汎用言語って便利そう」「人工知能やデータサイエンスってかっこいい」という判断基準ではなく、何をしたいのかを明確にして、それに向いているプログラム言語を選択しましょう。

ぜひ、この記事の中から勉強するプログラミング言語を見つけて、始めの一歩を踏み出しましょう!

<関連記事>

*1:メタ変数といいます。「必要に応じて適切な変数名に変えてね」という何でもいい変数名の時にPythonではイギリスのコメディ「モンティ・パイソン」にちなんだ単語をつける文化があります