エクセルでSQLiteを使う方法を書きます。今回は準備編として、環境の構築から。
ExcelでSQLiteを使うための環境構築
SQLiteForExcelをダウンロードする
Githubで
govertさんが作成してくださった SQLite For Excel をダウンロードする。 リンク→https://github.com/govert/SQLiteForExcel/releases
このSQLiteForExcelを使用することで、ODBC等をインストールせずにSQLiteを使用することができます。つまり、どんなPC(windows)からでも、SQLiteを使用できるようになるのです。
中央あたりのSQLiteForExcel-1.0.zipをクリックします。(赤枠部分)
すると、ダウンロードが始まるので、終わるまで待ちます。
圧縮ファイルの解凍とデータのコピーをする
ダウンロードし終わった圧縮ファイルを解凍すると、Distribution、Source、License.txtがあります。Distributionのフォルダをクリックします。
Distributionの中のSQLite.dllとSQLite3_StdCall.dllとSQLiteForExcel.xlsをコピーし、別のひとつのフォルダにまとめます。わざわざまとめる理由は、後で誰かに使い回すときに、一つのフォルダごと渡せるようにするためです。
以下のようにフォルダ内のデータをまとめれば、一先ずの導入は終了です。
また、Distribution内にあるSQLiteForExcel_64.xlsmは64ビット用ですので、今回は、まだWin7 32ビット環境を考慮して使用しません。
次に導入のテストをします。
エクセルの開発タブの表示方法は?
SQLiteForExcelを開きます。エクセルのタブに「開発」タブが表示されていない場合は、以下の手順で開発タブを表示させてください。
まず、ファイルをクリックします。
次にオプションをクリックします。
クリックしたら開くウインドウのリボンのユーザー設定をクリックします。
そして、表示されるメインタブ側の開発のチェックを入れます。
こんな状態になったらOKをクリックし終了します。
エクセルのマクロを実行するには?
ExcelでVBAを実行するためには、セキュリティの変更が必要になります。すでに設定されている方は、ここは読み飛ばしてください。
ファイルのオプションへ進みます。
表示されたウインドウから、セキュリティセンター → セキュリティセンターの設定をクリックします。
次に出てきたウインドウから、マクロの設定 → 警告を表示してすべてのマクロを無効にする を選びOKをクリックします。
これでマクロの有効化は終わりです。
※マクロの設定に関して、すべてのマクロを有効にするという手段もありますが、ネット上で配布されているエクセルの中には悪意を持ったプログラムがあるものもあります。そのため、このサイトでは警告を表示する設定にしています。すべてのマクロを有効にしている方は、自己責任でお願いします。当サイトでは、すべてのマクロを有効にしていて被った損害について責任を取りかねます。
導入できたかのテストを行う
SQLireForExcelを開きます。上記のマクロの有効を行っている場合は、セキュリティの警告として、マクロが無効にされます。
そのままではテストができないので、コンテンツの有効化をクリックし、マクロを有効にします。(毎回行いますので、以降の記事では省略します)
次に、開発タブから、VisualBasicをクリックします。すでに開発タブが表示されている場合は、
VisualBasicをクリックし VBEを起動します。
VBEを起動したらSQLite_DEMOをクリックし、AllTest()のしたあたりをクリックし、カーソルを持ってきたあと、再生ボタンをクリックします。
プログラムが走り終わって、イミディエイトウインドウに All Test Complete と表示されていればテストは終了です。
あとがき
なぜExcelを使ってSQLite(データベース)を扱うのか?
日本では、エクセルが事務方のフロントエンドとして、広く活躍しています。そのため、プログラマーじゃない人も、エクセルなら抵抗感がなく使用してもらえます。また、非IT部門の社員には、開発環境やデータベースの管理運用権限が与えられていないことが多いにも関わらず、データベース的な数字や実績の管理を任されるパターンがあります。そのため、エクセルを使用して、個人的な管理を行っている場面が多々あるため、エクセルを使ってデータベースを使用できれば、データ管理がより身近で便利になるからです。
なぜSQLiteなのか?
Access使えばいいじゃん、という問もありますが、そもそもAccessを使っている会社で、Accessをバリバリ使いこなせる事務方、または社内システム部門があるなら、SQLite以前に、もっと堅実なデータベースを導入しているのではないかと思います。
ではなぜAccessじゃなくSQLiteなのかというと、ここ日本でのマイクロソフトオフィスの三種の神器がWord、Excel、PowerPointだからです。つまり、これ以外のオフィスは追加料金が発生するので、多くの会社では、これら以外のオフィスは導入されてないか、よっぽどの理由無く全てのPCにインストールするという決断には至りません。そのため、無料で、データベースとして使えるSQLiteを導入しましょうということです。逆に言えばこの3種以外のAccessやらのオフィスを全社のPCにインストールして使用されている会社ではSQLiteよりもAccessの使い方を学ぶほうが、より早く、より理想に近い作りたいものを作れる可能性が高いです。正直、日本の帳票文化では、Accessのレポートの使用感がマッチングしていると思っています。
エクセルのVBAでやれば、みんなが使えて引継ぎもある程度楽ができる
職場で、がしがしVBAを作成しているなら話は早いのですが、どうすればいいのかわからないという場合があると思います。
その場合、エクセルと侮らず、本を買って読み込んだほうが情報の整理や頭の整理が段違いに速く体系的に学べます。
かんたんだけどしっかりわかるExcelマクロ・VBA入門 短時間で身につく忙しい人のためのエクセルの教科書 [ 古川順平 ] 価格:2,138円 |
小さな会社のExcel VBA業務自動化アプリケーション作成・運用ガイド Windows 10、Excel 2016/2013/2010対応【電子書籍】[ 武藤玄 ] 価格:1,814円 |
次回は、導入編として、実際にエクセル(SQLiteForExcel)からSQLiteとデータベースを操作していきたいと思います。