みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
プログラミン初心者が目指すのにオススメのツールBest30をお送りしています。
前編は以下の記事で11個のツールを紹介しています。
今回は後編、よりバラエティに富んだ残り19のツールを紹介していきますね。
※この記事はコミュニティ「ノンプログラマーのためのスキルアップ研究会」セミナーVol.4「初心者でも作れるプログラミングによるオススメツールBest30」の内容の一部を加筆修正して記事にしたものです。当日の様子は以下のツイートまとめもご覧くださいませ。
ファイルやフォルダ・Webページを開く(Python)
Pythonでは、subprocessというモジュールを使えば、OSに依存せずにファイル・フォルダを開くツールを簡単に作成できます。
また、webbrowserというモジュールを使えば、既定のブラウザを操作してWebページを開くのも簡単。
上記二つのツールは同じpyファイルに記載できますので、「仕事ごと」に開くべきアプリケーション・ファイル・フォルダ・Webページのセットを作っておけば、ダブルクリック一発で開けるようになります。
簡単だし、便利です。
本記事の最後で紹介するUIと組み合わせても良いですね。
フォルダ作成(VBA・GAS・Python)
次に紹介するのはフォルダ作成ツールです。
ExcelシートやCSVファイル、またはスプレッドシートにリストしている内容を元に、ローカルまたはGoogleドライブにフォルダを作成します。
一つ二つなら手動で作れば良いですが、10個とか100個とかになったら気が狂いそうになります。
どの言語でもライトに作れるツールですので、シチュエーションに合わせてトライしてみてください。
GASの例については、また、この事例については拙著
「詳解! GoogleAppsScript完全入門」の10章でも紹介していますので、よろしければご覧ください。
バリデーション(VBA・GAS)
バリデーションというのは、入力チェックのことです。
Excelシートやスプレッドシートでは、皆さん自由に記入できちゃうので、決められた形式で入力してもらえてないことがあります。
前編の最初に紹介したツールと似ていますが、ここでは正規表現を使って電話番号の形式かどうかチェックするといった、より複雑な入力チェックをする方法を紹介しました。
正規表現を使えば、他にも以下のような入力チェックが可能です。
- 郵便番号
- 全角のみ・半角のみ
- メールアドレス
正規表現は正面から勉強するとけっこう深いですが、上記のような一般的なパターンであればネットに転がっているので、それを使えばOKです。
VBAではVBScript Regular Expressionのライブラリ、GASではRegExpオブジェクトを使います。
メール送信(VBA・GAS)
メール送信ツールです。
GASではGmailサービスはよく使われていますが、VBAのOutlookはそんなに認知度が高くないかも知れませんね。VBAでOutlook、使えますよ!
定型文送信ツール、メールによる通知、簡易メルマガなどに使えますね。
HTTP通信
Webページの取得(VBA・GAS)
Webページのドキュメントを取得するツールです。
解析まで含めると初心者には少し難易度が上がりますが、いつもWebサイトからコピペをするような仕事をしているのであれば、ぜひチャンレンジしてほしいです。
VBAではXMLライブラリを、GASではUrlFetchサービスを使います。
APIの利用(VBA・GAS)
天気予報、郵便番号、商品検索…様々なサービスがAPIを提供していますので、それを利用することができます。
APIの利用方法は、前述のWebページと同じで、HTTP通信なので、リクエスト先のURLさえ構成できればやり方は同じなんですね。
ちなみに、ExcelVBAではXMLのインポートがとっても便利です。JSONであれば、GASのほうが得意ですね。
もちろんPythonでもできますよ。
APIを使えれば、世界が一気に広がるのでぜひチャレンジしてみてください。
チャットワーク・Slackへの送信(VBA・GAS)
チャットワークやSlackへのチャット送信もAPIを利用することで実現できます
なので、これもHTTP通信ができればできちゃいます。
どちらかというとGASのほうがオススメですね。
メッセージを送信するだけなら、チャットワークもSlackもライブラリが用意されているので簡単ですし、時限式で動作させられるのでBot的なこともできますから。
PythonもHTTP通信できます
セミナーでは時間と準備の関係でPythonの事例を紹介できなかったのですが、PythonももちろんHTTP通信ができます。
ということはWebページの取得も、APIの利用も、チャット送信もできるということです。
機会があれば、こちらもトライいただければと思います。
クリップボード・UI(Python)
最後にPythonのツールを二つ。
一つはクリップボードの内容をメモに書き出すツール。
pyperclipというモジュールを使います。
もう一つはUIですね。クリップボードのツールをUI上のボタンに登録して実行させました。
こちらは、tkinterというモジュールを使いました。
まとめ
さて、プログラミング初心者が目指すのにオススメのツールBest30を紹介してきました。
一つお伝えしたいのは、「コストパーヨロコビ」を意識していただきたいということです。
例えば、同じツールのバージョンアップばかり携わっていると、どんどん行数も増えて難易度も上がっていって、投下する労力(コスト)に対して、成果や達成感(ヨロコビ)が減っていったりすることがあります。
そんなときは、「縦に積む」のを一旦置いておいて、「横に移動」してライトなツールに手を出すと、コストは低くてヨロコビが大きかったります。
今回紹介したのは、コードの行数としては30行を超えるようなものはないと思いますので、ちょっとしんどいなーと思ったら、横移動する先としてご活用ください。
さて、今回紹介した「Vol.4」のセミナーの動画・資料に関しては一般販売はしない予定です。2018/3月中にコミュニティに入会いただければ、動画・資料に加えてソースコード一式も差し上げますので、欲しい方はお早めにご参加ください。
「ノンプログラマーのためのスキルアップ研究会」について
コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月の定例会や勉強会、Slackでのやり取りを通して、皆さんのプログラミング学習の質やモチベーションを高めるための活動をしています。 過去の活動については、以下のページをご覧ください。- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2017-2018)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2019)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2020)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2021)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2022)