●全ページ一覧の表示(ページ下へ移動)>>

▲PAGE TOP

エクセルへのダウンロード(その2)


NO 内容 分類 発行日
vol084 エクセルへのダウンロード(その2) VBA 2009年4月 1日

前回、アクセスデータをエクセルへダウンロードするやり方を説明しました。

VBAを使うと簡単にエクセルへダウンロードできます。

今回は、少し難しいやり方です。

でも、非常に便利です。

VBAを使ってダウンロードする場合、

DoCmd.OutputTo acQuery, "クエリ名", "MicrosoftExcel(*.xls)", "C:¥出力ファイル名.xls", False, "", 0

などを使うと、簡単にエクセルデータを、作成することができます。

これは、これで便利なのですが、エクセルをエクスポートした後にファイルをダブルクリックして開く必要があります。

ボタンをクリックしたら、直接、エクセルが開いてデータを表示させたいと思いますね。

そのやり方を説明します。

これは、とても便利です。

■1.まずアクセスの中でエクセルを動かす必要があります。
そのために、まず、アクセスの中でエクセルが動く環境を作る必要があります。

  1. アクセスのパソコンにはエクセルがインストールされている必要があります。前提条件です。

  2. VBA(Visual Basic Editor)の画面を表示します。

  3. ツール/参照設定をクリックします。

  4. ここに「Microsoft Excel xx.x Object Library」にチェックします。
    xx.xがエクセルのバージョンです。
    下の場所に、エクセルのプログラムの場所が表示されます。

  5. 「OK」をクリックします。


■2.これで、アクセスの中でエクセルが使用できる環境ができました。

次に、エクセルを開いて、その中にデータを表示させます。

表示するデータはSQL文で作成した方がいいですね。

  1. ボタンのクリック時に以下のVBAを使用します。


それぞれに説明を入れています。

-----------------------

まずエクセルのプログラム、ワークブック、ワークシートを定義します。

Dim XLS As Excel.Application
Dim WKB As Excel.Workbook
Dim WKS As Excel.Worksheet

次に、ADOを使ってSQL文を実行します。

Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset

データの接続です。

Set cn = CurrentProject.Connection

Set cmd.ActiveConnection = cn

エクセルで表示したいデータをSQL文で作成します。

cmd.CommandText = "SELECT XXXXX FROM XXXX"


実行します。
これで、rsにデータが格納されます。

Set rs = cmd.Execute

エクセルを立ち上げてワークブック、ワークシートを表示します。

Set XLS = CreateObject("Excel.Application")
Set WKB = XLS.Workbooks.Add
Set WKS = WKB.Worksheets("Sheet1")

セルのa2からデータを表示します。

XLS.ScreenUpdating = False
WKS.Range("a2").CopyFromRecordset rs

セルa1から項目の名前を表示します。
SQL文のデータに対応した項目名を作成します。

'---項目のタイトルを入れる
With XLS
.ActiveSheet.Name = "Sheet1"
.Cells(1, 1) = "項目名1"
.Cells(1, 2) = "項目名2"
.Cells(1, 3) = "項目名3"

End With

エクセルデータを表示します。

XLS.ScreenUpdating = True
XLS.Visible = True


エクセルのデータを空にします。

Set WKS = Nothing
Set WKB = Nothing
Set XLS = Nothing


ADOのデータを開放します。閉じます。

rs.CLOSE: Set rs = Nothing
cn.CLOSE: Set cn = Nothing


------------------------

ここまでです。
コピーするときは日本語は、はずしてください。


注意すべき点は、出来ればアクセスを使うパソコンのエクセルバージョンは、統一していた方がいいですね。

例えば、
アクセスのプログラムで、エクセルのバージョンがエクセル2003の時は、他のパソコンで使用する場合もエクセルのバージョンも2003の方がいいと思います。

トライしてみてください。

かなり、便利ですよ。

参考にしてください。



おすすめ教材


就職・転職にはマイクロソフトオフィスの知識が必修です。





[↑一番上へ]
[マイクロソフトアクセス(Access)活用法(メールマガジン)(ホームへ)]
11:451108

<<全ページのメニューリストです>>

アクセス(Access)の概要

アクセス(Access)全体

テーブル

クエリ

フォーム

レポート

マクロ

VBA

SQL Server

システム開発

SQL Azure

その他