【プログラミング言語】VBAの特徴

当ページのリンクには広告が含まれています。

こんにちは、KiYOです。

システムエンジニア歴20年オーバー。製造現場に特化したシステム開発を主にやってます。

新しい物好きで色々なIT技術を勉強しては、仕事に使って行ってます。

KiYO

今回は、このChatGPTとは一体何なのか、そしてその背後にある驚きの技術をわかりやすく解説します。

この記事でわかる事
  1. VBAの特徴
  2. VBAの歴史
  3. VBAの利用シーン

今回はこの本を参考に、私の独断と偏見で記事を書いています。

言語を5点中評価

内容点数
容易性容易に言語習得できるか?
将来性将来性があるか?
普及度普及しているか?
保守性保守性が高いか?
中毒性ハマるか?
17
目次

VBAの特徴

Excelとの連携が可能だったり、プログラマー以外にも活用できるところが人気です。

言語の特徴
  1. VBA(Office VBA、Visual Basic for Applications)は、ExcelやWordなどのアプリで自動処理するために用いられるマクロ言語です
  2. 文法的には、Visual Basic6.0と多くの互換性があるBASICです
  3. 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が生成される
  • 自動生成されたコードを手で編集することも可能
  • コードを書かなくても自動化処理ができるのも人気の理由
macOS
  • 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の開発環境
  • VBAはExcelやWordに機能として含まれるVisualBasicEditor(VBE)で作成・編集します
  • VBEはVBAに特化したエディタ・IDEです
  • ソースコードのシンタックスハイライト、補完など機能的には強力です
  • モジュール管理やステップ実行などもできるので、VBEだけあればしっかり開発可能
Excel関数ープログラミングの入り口になる便利な機能
  • Excel関数はExcelのセルに入力する数式中で利用できる機能(300個以上)
  • Excel関数はIFとANDやORで条件ごとにセルの表示を変更したり、LOOKUP/VLOOKUPでデータを照合して引き出したりと単なる集計以上の強力な機能を持っている
  • Excel関数はVBAから利用できたり、VBAでオリジナル関数を作成できたりと相互に連携できる

VLOOKUPの詳細はこちらをご覧ください。

Google Apps Script-GoogleのVBA
  • 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とほぼ同じ構造でプログラミングできるため、初心者でもすぐに書けるのではないでしょうか。

VBAの必要性
  • OfficeシリーズのExcel・WordがあればVBAが使える
  • マクロの記録機能で初心者でもプログラムコードが作れ、編集できる
  • Windowsアプリのようなフォーム上でボタンなど配置して表示が簡単にできる

やりたいことを実現するために、VBAの使い方をマスタしましょう。

何事も覚えることに遅いことはありません。今日が一番若い日です。行動していきましょう!

以上です。KiYOでした!

今回参考にさせていただいた本はこちらです。今回紹介した言語やその他言語も紹介されているので大変勉強になります。

まとめページで、他のプログラミングも紹介していますので、ご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITの事や自分の経験談など綴っていきたいと思っています。

コメント

コメントする

CAPTCHA


目次