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


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
vol084

これならわかるマイクロソフトアクセス活用法
            -->エクセルへのダウンロード(その2)
              
発行者:高内 章治 2009年4月 1日
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏ 今日の内容 ━━━━━━━━━━━━━━━━━━━━━━━━┓

┃【01 - ご挨拶    】
┃【02 - トピックス  】エクセルへのダウンロード(その2)

┃【03 - 編集後記    】

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

─────────────────────────────────
【01 - ご挨拶    】          
─────────────────────────────────

こんにちは、高内(こうない)です。

今回は、

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

についてお話したいと思います。




─────────────────────────────────

【02 - トピックス】: エクセルへのダウンロード(その2)

─────────────────────────────────

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

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の方がいいと思います。

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

かなり、便利ですよ。

参考にしてください。



─────────────────────────────────
【03 - 編集後記    】       
─────────────────────────────────

先週は、WBCの試合一色でした。

決勝戦の、日本と韓国戦の最後の所をみました。

最後の最後でイチローが、ヒットを打ちましたね。

あんなドラマを見せられると、野球って面白いと思いますね。

久々に興奮しました。

定額給付金も貰えますし、高速道路も安くなりますので日本もこれから元気になると思います。


◆私がアクセスをマスターできたのは!!
http://www.sk-access.com/kyozai/zaiko1.html  

テーブル作成からVBAまでマスターできます。 
「在庫管理システムをアクセスで作ってみよう」教材です。
http://www.sk-access.com/kyozai/zaiko2.html  


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●ご意見・ご感想・ご質問
 
『メルマガでもっとお役にたてる情報を配信したいと思いますので、日ごろから疑問に思っていることを教えてください。
宛先はこちらへです』

  •  kohnai★vega.ocn.ne.jp
      (高内:こうない:)
    (メールするときは、★を@に変えてください)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


◎「これならわかるマイクロソフトアクセス活用法」 のバックナンバー・配信停止はこちら

archive.mag2.com/0000222659/index.html

◎以下のホームページからでもバックナンバーを見ることができます。

http://www.sk-access.com/mailmaga/index.html

登録・解除につきましてはご自身でお願いいたします。

※このメールマガジンの転送はOKですが、掲載された記事の内容を許可無く転載することをを禁止させて頂きます。
必ず事前にご相談ください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


1週間でアクセス(Access)のシステム開発ができる〜
「在庫管理システムをアクセスで作ってみよう」教材

「アクセスのプログラム/システムを短期間で開発したい方」、
「アクセスのフォーム/VBAを完全にマスターしたい方」のための
アクセス(Access)を使って1週間でシステム開発する究極の方法とは?

「アクセス(Access)のシステムを無料のSQL Server 2016 Expressへ
移行してみよう」教材

あなたの会社のアクセス(Access)のデータベースやシステムに不安を感じていませんか?
アクセスのデータ量が多くなり処理スピードが遅くなった。
アクセスのデータを共有したい。
セキュリティに不安がある。などと、感じている方は!!
(SQL Server 2016 Expressバージョンです。)


「アクセス(Access)プログラムの仕様書の作り方」教材
マイクロソフトアクセスを使用して、プログラムの作成/システム開発をおこないたい方の為に、
アクセス(Access)のプログラム開発に成功するために絶対に必要な「仕様書」とは?



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

アクセス全体

VBA

SQL Server