プログラミング初心者が目指すのにオススメのツールBest30【後編】

tools

photo credit: sarahgb(theoriginal) Tools for Linocut/Japanese Vinyl via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

プログラミン初心者が目指すのにオススメのツールBest30をお送りしています。

前編は以下の記事で11個のツールを紹介しています。

プログラミング初心者が目指すのにオススメのツールBest30【前編】
VBA・GAS・Pythonを使ったお仕事で使えるであろう簡単ツールのアイデアを30個集めよう!という内容でセミナーを開催しました。本記事では、そこで紹介した30個のツールを紹介していきます。

今回は後編、よりバラエティに富んだ残り19のツールを紹介していきますね。

※この記事はコミュニティ「ノンプログラマーのためのスキルアップ研究会」セミナーVol.4「初心者でも作れるプログラミングによるオススメツールBest30」の内容の一部を加筆修正して記事にしたものです。当日の様子は以下のツイートまとめもご覧くださいませ。

ノンプロ研セミナーVol.4「初心者でも作れるプログラミングによるオススメツールBest30」
コミュニティ「ノンプログラマーのためのスキルアップ研究会」第4回セミナー。プログラミングを学ぶのはいいけど「まず、何を作るのを目指せばいいの?」「どのようなツール作れるの?」などといったことが、な..
スポンサーリンク

ファイルやフォルダ・Webページを開く(Python)

Pythonでは、subprocessというモジュールを使えば、OSに依存せずにファイル・フォルダを開くツールを簡単に作成できます。

初心者でも簡単!PythonでWindowsのアプリケーションを起動する方法
Windowsユーザー&プログラミング初心者向けに、Pythonでプログラム起動ツールの作り方をお伝えしています。今回は、Pythonでアプリケーションを起動する方法です。Popen関数を使います。

また、webbrowserというモジュールを使えば、既定のブラウザを操作してWebページを開くのも簡単。

【初心者向けPython】既定のブラウザでWebページを開くツールの作り方
プログラミング初心者&Windowsユーザー向けにPythonでお仕事で使うプログラムをまとめて起動する方法についてお伝えしています。今回はPythonで既定のブラウザでWebページを開くプログラムの作り方です。

上記二つのツールは同じpyファイルに記載できますので、「仕事ごと」に開くべきアプリケーション・ファイル・フォルダ・Webページのセットを作っておけば、ダブルクリック一発で開けるようになります。

簡単だし、便利です。

本記事の最後で紹介するUIと組み合わせても良いですね。

フォルダ作成(VBA・GAS・Python)

次に紹介するのはフォルダ作成ツールです。

ExcelシートやCSVファイル、またはスプレッドシートにリストしている内容を元に、ローカルまたはGoogleドライブにフォルダを作成します。

一つ二つなら手動で作れば良いですが、10個とか100個とかになったら気が狂いそうになります。

どの言語でもライトに作れるツールですので、シチュエーションに合わせてトライしてみてください。

Pythonでosモジュールのmkdir関数を使ってフォルダを作成する超簡単なプログラム
初心者向けPythonプログラミングでWindowsのフォルダ操作をする方法についてお伝えしています。今回はPythonでosモジュールのmkdir関数を使ってフォルダを作成する超簡単なプログラムです。

GASの例については、また、この事例については拙著
詳解! GoogleAppsScript完全入門」の10章でも紹介していますので、よろしければご覧ください。

バリデーション(VBA・GAS)

バリデーションというのは、入力チェックのことです。

Excelシートやスプレッドシートでは、皆さん自由に記入できちゃうので、決められた形式で入力してもらえてないことがあります。

前編の最初に紹介したツールと似ていますが、ここでは正規表現を使って電話番号の形式かどうかチェックするといった、より複雑な入力チェックをする方法を紹介しました。

正規表現を使えば、他にも以下のような入力チェックが可能です。

  • 郵便番号
  • 全角のみ・半角のみ
  • メールアドレス

正規表現は正面から勉強するとけっこう深いですが、上記のような一般的なパターンであればネットに転がっているので、それを使えばOKです。

VBAではVBScript Regular Expressionのライブラリ、GASではRegExpオブジェクトを使います。

メール送信(VBA・GAS)

メール送信ツールです。

GASではGmailサービスはよく使われていますが、VBAのOutlookはそんなに認知度が高くないかも知れませんね。VBAでOutlook、使えますよ!

定型文送信ツール、メールによる通知、簡易メルマガなどに使えますね。

初心者でも簡単!Google Apps ScriptでGmailを操作してメールを送る方法
Google Apps Scriptでメールマガジンを送るシステムを作りたいと思います。シリーズ初回の今回は、Google Apps ScriptでGmailを操作してメールを送る方法です。

HTTP通信

Webページの取得(VBA・GAS)

Webページのドキュメントを取得するツールです。

解析まで含めると初心者には少し難易度が上がりますが、いつもWebサイトからコピペをするような仕事をしているのであれば、ぜひチャンレンジしてほしいです。

VBAではXMLライブラリを、GASではUrlFetchサービスを使います。

エクセルVBAでIEを使わずにHTMLドキュメントを取得する方法
エクセルVBAでHTTPリクエストにより取得したHTML文字列から、HTMLドキュメントオブジェクトを生成する方法です。つまり、IEを使わずにHTMLドキュメントを取得することができるようになります。

APIの利用(VBA・GAS)

天気予報、郵便番号、商品検索…様々なサービスがAPIを提供していますので、それを利用することができます。

APIの利用方法は、前述のWebページと同じで、HTTP通信なので、リクエスト先のURLさえ構成できればやり方は同じなんですね。

ちなみに、ExcelVBAではXMLのインポートがとっても便利です。JSONであれば、GASのほうが得意ですね。

【Google Apps Script】天気予報をWeb APIで取得する方法
チャットワークに天気予報を通知するを目標に、今回はWeb APIとは何か、Google Apps Scriptでlivedoor天気情報のWeb APIからJSON形式のデータを取得してくる方法です。

もちろんPythonでもできますよ。

APIを使えれば、世界が一気に広がるのでぜひチャレンジしてみてください。

チャットワーク・Slackへの送信(VBA・GAS)

チャットワークやSlackへのチャット送信もAPIを利用することで実現できます

なので、これもHTTP通信ができればできちゃいます。

どちらかというとGASのほうがオススメですね。

メッセージを送信するだけなら、チャットワークもSlackもライブラリが用意されているので簡単ですし、時限式で動作させられるのでBot的なこともできますから。

エクセルVBAでチャットワークAPIにリクエストを送る最も簡単なプログラム
今回は、エクセルVBAでチャットワークAPIにリクエストを送る最も簡単なプログラムを紹介します。チャットワークAPIのリクエストURLについて、トークンの取得方法、ヘッダーのセットの方法などがポイントです。
Google Apps Scriptの第一歩、初心者でもチャットワークにメッセージを送れる
Google Apps Scriptの第一歩ですが、しょっぱなから真っ先にチャットワークを操作してしまいます。初回はGASのプロジェクトの作成、ライブラリの追加、スクリプトの記述と実行までです。

PythonもHTTP通信できます

セミナーでは時間と準備の関係でPythonの事例を紹介できなかったのですが、PythonももちろんHTTP通信ができます。

ということはWebページの取得も、APIの利用も、チャット送信もできるということです。

機会があれば、こちらもトライいただければと思います。

Pythonでスクレイピングをする最初の一歩、Webページを丸ごと取得する方法
Windowsを使う初心者向けにPythonの情報を提供しています。今回は、Pythonでスクレイピングをする最初の一歩、requestsモジュールのget関数でWebページを丸ごと取得する方法です。
Pythonでチャットワークにメッセージを送る方法
PythonからチャットワークのAPIを利用して、チャットワークにメッセージを送る方法を解説します。PythonのRequestsというモジュールを使用します。

クリップボード・UI(Python)

最後にPythonのツールを二つ。

一つはクリップボードの内容をメモに書き出すツール

pyperclipというモジュールを使います。

Pythonでテキストファイルに追加で書き込みをする基本中の基本
非エンジニアの初心者向けにPythonでクリップボードを操作する便利ツールの作り方をお伝えしています。今回はPythonでテキストファイルに追加で書き込みをする基本中の基本の方法をお伝えします。

もう一つはUIですね。クリップボードのツールをUI上のボタンに登録して実行させました。

こちらは、tkinterというモジュールを使いました。

まとめ

さて、プログラミング初心者が目指すのにオススメのツールBest30を紹介してきました。

一つお伝えしたいのは、「コストパーヨロコビ」を意識していただきたいということです。

例えば、同じツールのバージョンアップばかり携わっていると、どんどん行数も増えて難易度も上がっていって、投下する労力(コスト)に対して、成果や達成感(ヨロコビ)が減っていったりすることがあります。

そんなときは、「縦に積む」のを一旦置いておいて、「横に移動」してライトなツールに手を出すと、コストは低くてヨロコビが大きかったります。

今回紹介したのは、コードの行数としては30行を超えるようなものはないと思いますので、ちょっとしんどいなーと思ったら、横移動する先としてご活用ください。

さて、今回紹介した「Vol.4」のセミナーの動画・資料に関しては一般販売はしない予定です。2018/3月中にコミュニティに入会いただければ、動画・資料に加えてソースコード一式も差し上げますので、欲しい方はお早めにご参加ください。

コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。

「ノンプログラマーのためのスキルアップ研究会」について

コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月の定例会や勉強会、Slackでのやり取りを通して、皆さんのプログラミング学習の質やモチベーションを高めるための活動をしています。 過去の活動については、以下のページをご覧ください。
  1. コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2017-2018)
  2. コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2019)
  3. コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2020)
  4. コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2021)
  5. コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2022)
ぜひ、皆様のご参加をお待ちしております!
コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。
タイトルとURLをコピーしました