VBAを中心にプログラムでパソコン仕事を効率化する事例を紹介します。
各事例のリンク先でファイルをダウンロード可能です。
目次
- 1 プログラミングでPC作業を効率化する事例
- 1.1 事例1. マクロVBAでPDFの全テキスト情報をエクセルに書き出し一覧表示する
- 1.2 事例2. VBAで英語翻訳を自動化!エクセル文章を和訳するGoogle翻訳ツール作成
- 1.3 事例3. エクセルVBAで請求書PDF作成|複数の取引先別に自動転記(マクロテンプレートあり)
- 1.4 事例4. VBAで複数Outlookメールを個別作成し一斉送信|添付ファイルも付ける
- 1.5 事例5. フローチャート(フロー図)を作成できるエクセルフリーテンプレート|マクロVBAを活用
- 1.6 事例6. VBAで複数フォルダを階層別に一括作成|エクセルマクロでサブフォルダも生成
- 1.7 事例7. VBAでフォルダ内のファイル名を取得!再帰的に階層別にサブフォルダも対象にしてエクセルへ一覧を出力
- 1.8 事例8. VBAでWord議事録メモを作成して最前面表示!ファイルコピーと一覧化で整理整頓
- 1.9 事例9. PCデスクトップのファイルやフォルダ整理|VBAで不要データを定期削除・移動
- 1.10 事例10. VBAでエクセルに入力した複数ウェブリンクをGoogleChromeで一括で開く
- 2 Pythonで作業を自動化する
プログラミングでPC作業を効率化する事例
事例1. マクロVBAでPDFの全テキスト情報をエクセルに書き出し一覧表示する
PDFのデータを読んでいるとき、そのテキストを一覧にしたいときがあります。
このときマウスで範囲指定してコピーし、エクセルへ貼り付けしていくことになることが多いです。
しかしテキスト情報が多いPDFの場合、この作業は時間がかかる上にとても面倒くさいです。
またコピー箇所を間違えて、抜けや漏れがあったりすることもあります。
そこでこのページではVBAを使ってPDFのテキスト情報を取得し、エクセルへ一覧にする方法を紹介します。
・PDFのテキスト情報をXMLを再帰的に処理して取得するプログラムを解説
・VBA入りのエクセルファイルをダウンロード可能
事例2. VBAで英語翻訳を自動化!エクセル文章を和訳するGoogle翻訳ツール作成
仕事をしていると、大量の英語文章を翻訳したいときがあります。
このとき、Google翻訳を使うと簡単に文章を英訳できるのですが、複数の文章をまとめて翻訳するのが難しいというデメリットがあります。
というのもGoogle翻訳を使うと、文章ごとにGoogleのウェブページにコピペしないといけないからです。
翻訳した文章が少なければ問題ありませんが、大量の文章をGoogle翻訳したいときは厄介な作業となります。
そこで、複数行のエクセルに記載された英語文章をまとめて日本語に翻訳するツールを作成しました。
・VBAでエクセルの文章を自動翻訳して作業効率化
・VBAツールをダウンロード可能
また以下のページでは、Word文章を自動翻訳するツールを紹介しています。
事例3. エクセルVBAで請求書PDF作成|複数の取引先別に自動転記(マクロテンプレートあり)
エクセルを使って請求書や見積書を手入力で作成している人は少なくありません。
このとき、膨大な量の請求書を手入力で作成するとなると、記載ミスを引き起こす可能性があります。また、量が多いために計算間違いをしたりしてしまうことがあります。
しかし、このようなミスはエクセルマクロVBAを活用することで大きく改善することができます。
そこで、請求書や見積書をエクセルマクロVBAで作成する方法を解説します。
・請求書はPDFとして作成し、所定フォルダへ保存
・請求書の締め日も調整可能(これは事前入力で対応)
・マクロ入りテンプレートダウンロード可能
事例4. VBAで複数Outlookメールを個別作成し一斉送信|添付ファイルも付ける
仕事をしていると、顧客や社員向けに個別で一斉メールを送信したいときがあります。
しかし1通1通メールを作成していると、作業に時間がかかってしまいます。またメール作成中にミスをしてしまうと、誤った情報を相手に送ってしまいかねません。
そのため単純作業にもかかわらず、負荷が大きくなってしまいます。
このときExcel VBAとOutlookを活用してメール作成作業を自動化すると処理を簡略化できます。
そこでExcel VBA×Outlookを活用したVBAサンプルを紹介します。
・メールに添付ファイルを付ける
・テキストファイルからメール本文を取得
・紹介するプログラム入りのエクセルをダウンロード可能
事例5. フローチャート(フロー図)を作成できるエクセルフリーテンプレート|マクロVBAを活用
フローチャートを作成できるソフトやアプリは数多く紹介されています。
しかし、それらのソフトはインストールする手間がかかったり、使い方を覚えるまでが面倒だったりすることが多いです。
その原因は、使い慣れていないソフトやアプリを使うからです。
その結果、インストールに時間がかかったり、ゼロから使い方を覚える必要が発生するのです。
このような課題は、普段から使用しているソフトウェアを活用することで解決できます。
そこで、フローチャートを簡単にかつすぐに使えるようにエクセルのテンプレートを紹介することにしました。
また、エクセルファイルをダウンロードできるようにもしておきました。ぜひご活用ください。
事例6. VBAで複数フォルダを階層別に一括作成|エクセルマクロでサブフォルダも生成
作成したフォルダ数が5程度であれば、手入力で作成することでも問題ありません。
しかし作成したいフォルダ数が数10個以上作る場合、マクロを使った方が早いです。
実際マクロを使えば、10コでも100コでも自動で処理を行うことができます。また、フォルダ名を間違えずに作成することができます。
・VBAプログラム入りのエクセルファイルをダウンロード可能
事例7. VBAでフォルダ内のファイル名を取得!再帰的に階層別にサブフォルダも対象にしてエクセルへ一覧を出力
VBAを使うとフォルダ内の全てフォルダやファイル名を取得して一覧にすることができます。
これは下位フォルダ(サブフォルダ)のファイルも含めて全て取得可能です。
今回は、フォルダ内の全てのファイル名を取得してエクセルへ出力するプログラムを紹介します。
・フォルダ階層ごとにExcelへ書き込む
事例8. VBAでWord議事録メモを作成して最前面表示!ファイルコピーと一覧化で整理整頓
VBAを使って議事メモ作成を効率化するツールを紹介します。
議事メモの作成そのものを効率化するというよりは、議事メモのテンプレートをVBAで呼び出し、所定のフォルダに保管する作業をVBAで自動処理させます。
これにより、毎回同じフォーマットの議事メモのテンプレートを使用できること、後で議事メモをフォルダから探す手間が省くことができること、といった恩恵を受けることができます。
・ミーティングごとに議事メモの保管先を分ける
・VBA入りのエクセルファイルをダウンロード可能
事例9. PCデスクトップのファイルやフォルダ整理|VBAで不要データを定期削除・移動
PCのデスクトップは、作業中のファイルを一時的に保管しておくのに便利です。
しかしながらデスクトップにファイルが保管しすぎて、過去のファイルやフォルダで溢れてしまうことがあります。
しかも過去のファイルやフォルダが大量にあるせいで、どれが作業中のものか見分けがつかないことも少なくありません。
そこでVBAを使って、PCデスクトップのファイルやフォルダs整理を行うプログラムを紹介します。
・ファイルやフォルダの最終更新日をもとに作業中かどうか判定
以下のページで詳細を紹介しています。
事例10. VBAでエクセルに入力した複数ウェブリンクをGoogleChromeで一括で開く
よく使うウェブページが複数あるとき、一つずつ開いていると面倒です。
また毎日確認したいページもあれば、曜日ごとに更新されるページもあります。
そこでエクセルであらかじめ設定した頻度に応じて、一括でウェブページを自動で開くプログラムを紹介します。
・エクセルでウェブページを開く曜日を設定する
・PC起動と同時にウェブページを開くように設定する(windows限定)
以下のページで詳細を紹介しています。
Pythonで作業を自動化する
このページではエクセルVBAのプログラミングによる事例を中心に紹介しました。
しかし同様にことは、Pythonでも実行可能です。
PythonはVBAと比較すると、プログラムの記述が少なくて済むことが一つの特徴です。
また豊富なライブラリを活用できるため、エクセルだけではなくディープラーニングでも使用され、汎用性の高いプログラミング言語です。
様々なライブラリを使えることが、エクセルとの親和性が高い理由につながっています。
Pythonでエクセル作業を自動化できること
Pythonを使うと、Excel仕事を効率化することが可能です。
効率化できる操作は多岐にわたりますが、分かりやすいところで言えば以下のような作業を自動化できるのです。
・読み込み
・データ処理
・書き込み
・グラフ化
・ウェブスクレイピング
・PythonでExcelマクロ実行(VBA)
・Excelの印刷設定
詳しくは以下のページで紹介しています。
VBAとPythonの違い
PythonもVBAもエクセル仕事を自動化できる点は同じと言えますが、実際には異なる点が数多く存在します。
たとえば以下の点です。
違い2. PythonとVBAはプログラムの記述方法が異なる
違い3. PythonとVBAは学習のしやすさが異なる(ウェブや書籍での情報量)
違い4. PythonとVBAは転職市場での価値が異なる
違い5. PythonとVBAは副業での単価が異なる
これらについて、以下のページで紹介しています。