こんにちは、KiYOです。
システムエンジニア歴20年オーバー。製造現場に特化したシステム開発を主にやってます。
新しい物好きで色々なIT技術を勉強しては、仕事に使って行ってます。
今回は、このChatGPTとは一体何なのか、そしてその背後にある驚きの技術をわかりやすく解説します。
- VBAの特徴
- VBAの歴史
- VBAの利用シーン
今回はこの本を参考に、私の独断と偏見で記事を書いています。
言語を5点中評価
内容 | 点数 | |
---|---|---|
容易性 | 容易に言語習得できるか? | 4 |
将来性 | 将来性があるか? | 3 |
普及度 | 普及しているか? | 4 |
保守性 | 保守性が高いか? | 3 |
中毒性 | ハマるか? | 3 |
17 |
VBAの特徴
Excelとの連携が可能だったり、プログラマー以外にも活用できるところが人気です。
- VBA(Office VBA、Visual Basic for Applications)は、ExcelやWordなどのアプリで自動処理するために用いられるマクロ言語です
- 文法的には、Visual Basic6.0と多くの互換性があるBASICです
- Excelなどから使うことができるため、プログラマーではない人も活用することが多い言語
VBAの歴史
開発者 | Microsoft |
誕生 | 1994年 |
公式サイト | https://docs.microsoft.com/ja-jp/office/vba/api/overview/ |
分類 | 静的型付け、オブジェクト指向、手続き型 |
影響を受けた言語 | BASIC Microsoft Basic QuickBasic Visual Basic |
影響を与えた言語 |
言語の歴史
1994年 | Excel5.0が発表 |
1995年 | Office95の発表 |
1997年 | Office97の発表 |
Officeファイル内に梱包される形式のため、セキュリティ上の問題があったが、アップデートを続け、多くは解決されている |
- Excelなどで操作内容を記録して再現するマクロ記録機能があり、自動でVBAが生成される
- 自動生成されたコードを手で編集することも可能
- コードを書かなくても自動化処理ができるのも人気の理由
- Office製品はWindowsだけでなくmacOS向けにも提供されている
- macOSでも同じようにVBAのプログラムを動かすことが可能
- LinuxなどのOffice製品が現段階で提供されていないプラットフォームでは利用は不可
- Visual Studioで作成するWindowsアプリのようにフォーム上にボタンやエディタを配置して表示することが可能
- フォームに入力された内容をもとにしてExcelシートに生成したデータを流し込むなどできる
Officeを使うならVBAはなんといっても事務処理をする上では押さえておきたい言語です。ExcelやWordなど業務に欠かせないツールを自動化することを念頭に設計されています。
Excelならばシートへの書き込みだけでなく、セルの色やフォントを変更したり印刷の実行までできたりと強力な機能が提供されています。
ちょっとした社内の業務システムをExcelとVBAで作るということもあるほどです。
ただ、煩雑になり、仕様を誰も把握していないことになるので取り扱いは注意です。
VBAの利用シーン
ExcelやWord、Accessなど、MicrosoftのOfficeシリーズで、アプリを自動化するためのマクロ言語として利用されています。
Excelであれば、新規シートを作成したり、特定のシートをコピーしたり、任意のセルの値を読み書きしたり、グラフを挿入したりとかなり高度な処理が可能です。事務処理を自動化するプログラミング言語として人気があります。
- VBAはExcelやWordに機能として含まれるVisualBasicEditor(VBE)で作成・編集します
- VBEはVBAに特化したエディタ・IDEです
- ソースコードのシンタックスハイライト、補完など機能的には強力です
- モジュール管理やステップ実行などもできるので、VBEだけあればしっかり開発可能
- Excel関数はExcelのセルに入力する数式中で利用できる機能(300個以上)
- Excel関数はIFとANDやORで条件ごとにセルの表示を変更したり、LOOKUP/VLOOKUPでデータを照合して引き出したりと単なる集計以上の強力な機能を持っている
- Excel関数はVBAから利用できたり、VBAでオリジナル関数を作成できたりと相互に連携できる
VLOOKUPの詳細はこちらをご覧ください。
- Googleが提供するオフィスアプリにGoogleドキュメント・Googleスプレッドシート・Googleスライドがある
- これらの処理を自動化するためにGoogleAppsScript(通称GAS)というJavaScript互換のプログラミング言語が用意されている(VBAと同じようなもの)
- 2020年にNode.jsと同じV8処理系が採用されたことによりES6以降のモダンなJavaScriptが利用できるようになった
- VBAに対するVBEのように、スクリプトエディタというWebブラウザで使える専用開発環境があります
- GoogleAppsScriptは人気の高いJavaScriptに準拠した書き方ができ、スプレットシートなどに加え、GmailやGoogleドライブにも利用できるため人気を集めている
まとめ:事務処理の自動化にはVBA
今回はVBAについて解説しました。
仕事でよく使うOfficeのExcelやWordで簡単にVBAを使えることで、プログラミング初心者でもすぐに始めることができる言語です。また、VisualBasic6.0とほぼ同じ構造でプログラミングできるため、初心者でもすぐに書けるのではないでしょうか。
- OfficeシリーズのExcel・WordがあればVBAが使える
- マクロの記録機能で初心者でもプログラムコードが作れ、編集できる
- Windowsアプリのようなフォーム上でボタンなど配置して表示が簡単にできる
やりたいことを実現するために、VBAの使い方をマスタしましょう。
何事も覚えることに遅いことはありません。今日が一番若い日です。行動していきましょう!
以上です。KiYOでした!
今回参考にさせていただいた本はこちらです。今回紹介した言語やその他言語も紹介されているので大変勉強になります。
まとめページで、他のプログラミングも紹介していますので、ご覧ください。
コメント