
講座の対象者、講座全体の概要をご紹介します。
VBAを簡単に説明し、プログラムを記述することになるVBEを操作できるようにします。VBEはExcel,Accessと共通ですが、このレクチャーでは、Accessを事例として使います。Accessのフォームからプログラムコードを書くための簡単な手順も含みます。
前回に引き続きAccessのフォームからプログラムを書く手順を紹介します。後半では、Excelにも共通する知識として、標準モジュールの概念を説明します。
プログラムのデバックとして頻繁に使用するイミディエイトウィンドについて説明します。
自動構文チェックの意味とおススメの設定。コメントブロックの設定方法を紹介します。
セクション2では、最も簡単なClassの使い方を紹介します。本レクチャーでは、先だって、このセクション全体が何を作ろうとしているのか、その最終形をお見せします。
ExcelのVBA使用方法について、簡単に説明します。
Excelのセルを事例として、プロパティの概念を説明します。セルという一つのオブジェクトに対して、様々な特徴があることが分かります。
前回に引き続き、Excelのセルを事例としてプロパティの概念を説明します。何度も同じことを書かなくてもよいように、with文もご紹介します。
Classの実例を作成します。プログラムに記述する内容自体のボリュームは非常に少ないですが、初めてなので概念をとらえづらいと思います。プログラムの記述は少量にとどめて、説明に重点をおいたレクチャーとしました。
前回Classのプロパティの種類を3つに増やしながら、Classの理解度を深めます。応用編として、Classを流用して複数のオブジェクト(インスタンス)を作成することにも取り組みます。(後半は理解できなくても先のレクチャーには影響しません。)
前回Classを変更して、Excelシート内の情報をClassで保持できるように応用します。
Classの中の特別なプロシージャの作り方、Class_Initializeをご紹介します。Class_Initializeは今後のセクションでも非常に役に立つテクニックであり、標準モジュールが非常にすっきりします。
プログラムの誤動作を防ぐ、という観点で、前回レクチャーで作ったコードの別バージョンを紹介します。プログラムには、同じ動作であっても複数の書き方があるものです。目的に合った使い分けのコツをお伝えします。
本セクションで作ることになるVBAの動作を先に紹介します。作成するクラスはコレクションに似せて、直感的に使える仕様を目指します。そこで、コレクションが元々持っている基本的なメソッドを紹介し、目指す動作の理解を助けます。
スライドを使いながら、クラスとコレクションの違いや使い分けについてまずはイメージを説明します。次に、取り組むExcelのサンプルを見ながら、目指す動作に先程のイメージを結び付けていきます。
まず、forループを説明し、繰り返し動作の書き方を覚えます。次に、列の最後の行番号の取り方を説明し、forループと組み合わせた使い方を学びます。
Excelのセルを参照する際、ループを使いがちですが、大きなデータでは時間がかかります。このレクチャーでは、配列を使って一気に読み込む方法をご紹介します。
前回に引き続き、配列による表データ取り込み方法をご紹介します。Sheetのどこに表があっても、一部を変更するだけで対応できるような、汎用性のあるプログラムコードを作っていきます。
表データ全体をClassに入れる前準備として、一行のデータをClassに入れる方法をご紹介します。複数の行データを同じClassに入れると上書きされて前データが消えてしまう問題が起こります。この問題に対する対策も詳しく説明します。
表データ全体をClassに入れる前準備として、コレクションに行データを入れる方法をご紹介します。Classに表データを入れるための重要な準備です。
Class_Initializeを使って、表データ全体をClassに入れます。実用のためには、まだ不足している内容を確認します。
プロパティの本格的な作り方、Public Property Getを説明します。ここまでのレクチャーで使ってきたpublic Properyとの違いも説明します。
実例サンプルに戻って、標準モジュールから呼び出すためのプロパティを作成します。
Classの中に入っているデータの個数を数えるプロパティ、Countを自作します。ここまでで、Excelにおける表データ取り込みのプログラムが完成します。
このセクションで作ることになるAccessファイルの動作を説明します。ゴールをイメージすることで、先のレクチャーが何を目的にしているのか、理解しやすくします。
レコードセットについて簡単に説明します。また、ライブラリファイルの設定方法を紹介します。セクションのキーとなるプログラムの全体概略を説明します。
レコードセットの動作について、プログラムを動かしながら紹介した後、スライドを使って理解を深めていきます。
データベースオブジェクトADOの概要を説明します。コネクションとレコードセットの役割が分かるようになります。
SQLの概要をスライドを使って説明した後、実プログラムへの書き方を紹介します。
標準モジュールに記述していた内容を、Classの方に移動させて、標準モジュールを簡略化します。実用のために不足している内容を把握します。
前回セクションで作成したExcelとそっくりな形で、Accessテーブルデータ取り込みのプログラムを完成させます。重複する内容なので、説明を簡略化しました。早いと感じた個所があれば、ぜひ、Excelセクションの説明を振り返ってみてください。
VBAを使って業務効率しているケースは多いですが、Classには苦手意識がある方がいるのではないでしょうか。この講座では、そんな方を対象に、Classを簡単に、便利に使える方法をご紹介します!
Classを使わなければ実現できない処理はありません。ではなぜClassを使うのか。それは、後から読みやすくするためであり、メンテナンスしやすくするためです。Classの学習を始めると、オブジェクト指向、インスタンス化、カプセル化、隠蔽といった難しい用語がたくさん出てきます。私は、入口に立った時点からこんな言葉を理解する必要はないと思っています。まずはClassを使えるようになって、その用語が必要になった時に改めて学べばいいのです。この講座はそんな思いを込めて、できるだけ簡単な言葉で説明することに心がけました。
最初は簡単な事例、一行でも成立してしまうClassから始めます。全体としては、Excelの表データや、AccessのテーブルデータをClassに入れることをメインの目標とします。この目標に向かって、必要な周辺知識をつけながら、順番にゴールの形に向かっていく構成としました。
出来上がったプログラムコードを流用すれば、あらゆる事例に応用できることと確信しています。100%理解できなくても、コードを使って業務を効率化することができ、使っていることで理解が深まっていく。そんな講座になっていますので、ぜひチャレンジしてみてください!