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

▲PAGE TOP

エクセルへのダウンロード(フォルダーの選択)


NO 内容 分類 発行日
vol169 エクセルへのダウンロード(フォルダーの選択) VBA 2012年9月19日

2009年の3月18日、4月1日、7月15日のメルマガで、アクセスからエクセルへのダウンロードのやり方を説明しました。

今回のやり方も、なかなかよい方法です。
お客様から教えて頂きました。


以前、VBAを使った方法を説明しました。

一番簡単な方法です。

■1.クエリのデータを指定したフォルダーにエクスポートする方法です。

「ボタン」の「プロパティ」の「クリック時」にVBAのコードを記入します。

クエリのデータをエクセルへエクスポートするVBAは、次のとおりです。

DoCmd.OutputTo acQuery, "クエリ名", "MicrosoftExcel(*.xls)", "C:¥出力ファイル名.xls", False, "", 0
(VBAの中は1行で書いてください。)


・クエリ名の所がエクセルへ出力したいクエリ名です。
・出力ファイル名.XLSが出力したいファイルの名前です。

指定したフォルダーに指定した名前で上書きされます。

でも、自分で、フォルダーを選択したりファイル名を入力したりしたいですよね。

そのやり方です。

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

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

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

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

  4. ここに「Microsoft Excel xx.x Object Library」にチェックします。
    xx.xがエクセルのバージョンです。

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


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

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

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


**************************

' Excel をAccess から利用します
Dim objXL As New Excel.Application

'保存用ファイル名を定義します
Dim FileName As Variant

'規定としてセットするファイル名を定義します
Dim InitialFileName As Variant

InitialFileName = "規定値で保存するファイル名"

'ダイアログボックスのタイトル
Dim varTitle As Variant
varTitle = "名前を付けて保存"

'Excelの [名前を付けて保存] ダイアログを開き、仮の保存ファイル名を取得
FileName = objXL.GetSaveAsFilename(InitialFileName, _
"Microsoft Excel 97-2002 (*.xls),*.*", 1, varTitle)

'これで、 「名前を付けて保存」で、Microsoft Excel 97-2002 (*.xls)が表示されます。

DoCmd.OutputTo acQuery, "エクセルで保存したいクエリ名", "Microsoft Excel 97-2002 (*.xls)", FileName, False, "", 0

'「ファイルへ出力」の画面は出なくてMicrosoft Excel 97-2002で保存されます。

'終了処理
objXL.Quit
Set objXL = Nothing

*************************

2003で保存したければ、"Microsoft Excel 97-2003 (*.xls)"にしてください。

2007や2010で保存したい場合は、
一度、DoCmd.OutputTo acQueryの行の "Microsoft Excel 97-2002 (*.xls)"を外します。
動かすと「ファイルへの出力」が表示されます。
そのコンボボックスで、エクセルのバージョンが表示されますので、そのバージョンを、上(2ヶ所)に書き込めばよいです。

Excel 97-2003 ブック(*.xls)
Excel ブック(*.xlsx)
Microsoft Excel 5.0/95 ブック(*.xls)

などがあります。

これで、フォルダーの選択とファイルの入力ができます。

このやり方もなかなかよいです。


参考にしてください。



おすすめ教材


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





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

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

アクセス(Access)の概要

アクセス(Access)全体

テーブル

クエリ

フォーム

レポート

マクロ

VBA

SQL Server

システム開発

SQL Azure

その他