[三流君] −−> [VBAで楽しく] −−> [バックナンバー一覧]
−−> No.058 Access クエリーを Excel既存シートへ エクスポート

Access クエリーを Excel既存シートへ エクスポート

メルマガ発行内容

<Access クエリーを Excel既存シートへ エクスポート>

こんにちは、 三流プログラマーKen3です。 今回は、 Access クエリーを Excel既存シートへ エクスポート を軽く書きたいと思います。 /* * 1.今回のキッカケ */ BBS に以下の投稿がありました。 ( http://www.ken3.org/cgi-bin/bbs/vba/wforum.cgi?mode=allread&no=66&page=0 ) >投稿時間:2003/03/18(Tue) 09:11 > >おなまえ:TMNOA >タイトル:アクセスからエクセルへ > >始めまして、TMNOAです。 >いつも読ませて頂いております。 > >質問なのですが、アクセスのクエリーからエクセルへのエクスポートの際、 >概存ブック及び概存シートへのエクスポートは可能なのでしょうか? >現在の所、概存ブックの新規シートへのエクスポートはできるのですが・・・。 > >お忙しいとは思いますが、よろしくお願い致します。 >(他のサイトは説明が難しく困っているので・・・。) > >では、失礼します。 -------------------------------------------------------- と質問メールが来ました。 私の説明もわかりにくいと評判なんだけど、、、少し調べてみますか。 /* * 2.簡単にできないか、確認してみる。 */ 昔の自分のメルマガサンプルを見てみると、 <Access97からExcel形式へExport時に書式設定を行いたい> http://www.ken3.org/backno/hosoku/e025/index.html で、 DoCmd.TransferSpreadsheet acExport, 5, "管理MST", "C:\TEST.XLS", True, "" <書式付きエクスポート DoCmd.OutputToで、できます> http://www.ken3.org/backno/hosoku/ETC_026.html で、 DoCmd.OutputTo acOutputTable, "T_管理MST", acFormatXLS, "C:\TEST.xls", True を使ってました。 簡単なのは、DoCmd.XXXXが使えるといいんだけどなぁ、 クエリーの出力を試してみました。(Access97) spreadsheettype を8 Excel97に変えてと 0 acSpreadsheetTypeExcel3 (既定値) 6 acSpreadsheetTypeExcel4 5 acSpreadsheetTypeExcel5 5 acSpreadsheetTypeExcel7 8 acSpreadsheetTypeExcel97
Sub コマンド0_Click()
    DoCmd.TransferSpreadsheet acExport, 8, "Q_VBADATA", "D:\058.XLS", True, ""
    MsgBox "出力終了"
End Sub
まず、1回目ファイルがない新規の状態で実行。 シートが作成されます。(あたりまえか(笑)) さてと、行挿入・列挿入してタイトルとか入れときますか。 ついでにデータ消してみてと。見出しに色付けて。 シートも挿入してしまえ。。。とブックの形を変えて保存します。 ブックを閉じたことを確認後、再度ボタンを押して実行します。 ブックを開いてみるとあら不思議、 データが入っているよ。 DoCmd.TransferSpreadsheet を使うと出きるみたいですね。 /* * 3.データエリアの名前付けを利用しているのでは?と勝手に予想するが、、、 */ 勝手に一人で盛り上がってないで、 何でか?理由を説明しろ?(想像しろって?) データの転送先のセルに付けた名前をみると、 Q_VBADATAってのができてます。 えっ、どこどこ? メニューの挿入・名前・定義を選択します。 そうすると、範囲が書いてあります。 既存のブックで範囲が設定されていれば、そこに保存するみたいです。 とすると、今在るブックにデータを挿入したかったら、 あたらしくクエリー名と同じ名前の定義を追加すればいいの? Q_ASPDATAって名前で範囲を追加してみます。 メニューの挿入・名前・定義を選択します。 名前と範囲を入れて追加ボタンを押します。 で保存してと。
Sub コマンド1_Click()
    DoCmd.TransferSpreadsheet acExport, 8, "Q_ASPDATA", "D:\058.XLS", True, ""
    MsgBox "出力終了"
End Sub
クエリー名を変えて、実行。 よし今日もお疲れさん。 エラーだよ三流君、、、えっ、なんで?ほんとだぁ。。。 それじゃダメなのかなぁ、、 シートを消して、再実行。 すると、ブック内にQ_ASPDATAのシートが作成された。 同様にタイトルなどの飾りを付けて、 確認用にデータを少し消してから保存。 再度実行する。 あらら、ダメかぁ。 名前の定義でそこにセットされるなら、 既存シートのセットも簡単かなぁと思ったのですが、あと一歩です。 1つのブックに一つのクエリーはエラー無く名前の範囲に出力されるので、 一度ダミーでシート作成、その後タイトルやワクを作成して使ってみてください。 *複数クエリーを既存シートは工夫が必要みたいです。  (もしかしたら私の操作ミスかも) 一度シート作成後、他のシートをシートのコピーで持ってくるとか。 /* * 4.おわりの挨拶 */ 今回も途中までは出来たのになぁ、、、、 何か単純なミスがありそうだけど。 拾い読みして、 1つでも何かの参考となれば幸いです。 Excel/Access大好き、三流プログラマーKen3でした。 ---------------------------------- 関連項目(ただのバックナンバー紹介) ---------------------------------- 昔のサンプル、 <Access97からExcel形式へExport時に書式設定を行いたい> http://www.ken3.org/backno/hosoku/e025/index.html 時間があったら、あわせてみて下さい。


ページフッター

ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、

種類別のリンク や 広告など

気になったジャンル↓を選択してください。

人気記事(来場者が多いTOP3):
[VBAでIE,WebBrowserを操作]・・・VBAでIE,WebBrowserを操作する サンプルです
[Access から Excel 連携 CreateObject("Excel.Application")]・・・AccessからExcelを操作したりデータの書き出しなどです
[VBAでOutlookの操作 CreateObject("Outlook.Application" )]・・・VBAからOutlookを使い、メール関係を処理するサンプルです
↑上記3つみたいなCreateObjectで他のアプリケーションを操作するサンプルが人気です。

Excel関係:
[Excel UserFormを操作する]・・・エクセルでユーザーフォームを作成して入力などを行ってます
[ExcelからAccessを操作する]・・・ExcelからAccessのマクロを起動してみました、
[Excel関係 関数、その他]・・・その他Excel関係です

Access関係:
[Access UserForm/サブフォーム 操作]・・・アクセスでフォームを使ったサンプルです
[Access レポート操作]・・・レポートを操作してみました
[Access クエリーやその他関数]・・・あまりまとまってませんが、スポット的な単体関数の解説です

その他:VBAの共通関数やテキストファイルの操作など
[VBAでテキストファイル(TextFile)の操作]・・・普通のテキストファイルを使ったサンプルです
[VBA 標準関数関係とその他解説]・・・その他、グダグタ解説してます

開発時の操作: [F1を押してHELPを見る]/ [Debug.Print と イミディエイトウインドウ]/ [実行時エラーでデバッグ]/ [ウォッチ式とSTOP]/ [参照設定を行う]

仕様書(設計書?) XXXX書類: [基本設計書や要求仕様書]/ [テスト仕様書 テストデータ]/ [バグ票]/ [関数仕様書]/ [流れは 入力・処理・出力]

※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。
※※読んで、気分を悪くされたらスミマセン。

Blogとリンク:[三流君の作業日記]/ [VBAやASPのサンプルコード]/ 広告-[通販人気商品の足跡]



[三流君(TOP ken3.org へ戻る)] / [VBA系TOPへ] / [VBA系バックナンバー目次へ移動]