• 締切済み

アクセスからエクセルのフォーマットへ出力

初心者につき、ご教示ください。 アクセスのテーブルのクエリから エクセルのフォーマットをコピーして出力したいのです。 例) オブジェクト種別:オブジェクト名:フィールド名 テーブル1:TBL_社員情報:社員番号・氏名・所属・入社年月・退職日・・ テーブル2:TBL_所属情報:社員番号・所属・グループ・業務担当・主務or兼務・・ 出力用クエリ:QRY_エクスポート:社員番号・氏名・所属・グループ・業務担当 エクセルのフォーマット名:所属申請:社員番号・氏名・所属・グループ・主務・兼務 ※主務と兼務はそれぞれ分けた申請になるため、同一社員で複数の申請書が必要になります。 →申請書の様式はありますが、新しいシート(もしくは フォーマットのエクセルに、もともと空シートを作っておいて、そこ)にデータを出力する・・のであれば、申請書の様式が変更になっても使えるものになると想定しています。 単にクエリをエクスポートするだけであれば DoCmd.RunSavedImportExport で、設定できるのは理解しているのですが フォーマットを必要分コピーして別名保存(例えば「社員番号+部署」)するとなると知識が足りません。 ご理解の深い方、お分かりになりましたら ご教示いただけますと幸いです。 よろしくお願い致します。

みんなの回答

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.1

エクセルのフォーマット名 というのは、 エクセルのシートに 所定の申請書のひな形(テンプレート)があるという意味ですね? アクセス上にある2つのテーブルをjoinしてクエリーを行うと 社員番号・氏名・所属・グループ・業務担当 この一覧が結果セットとして返ってくる。 返ってきた結果セットをエクセルのシートに受け取ることができる。 この作業をDoCmd.RunSavedImportExportで行っている。 この社員一覧と 所定の申請書のひな形(テンプレート)の埋まったシートを元に 社員ごと(あるいは、加えて業務ごと?)のシートを作成したい。 作成するシートのシート名や特定のセルに 社員名や所属、業務範囲を埋めたい。 このような理解でいいでしょうか? アクセスとアクセスのVBAを使えばできるのかもしれませんが 少なくとも私には手が届きません。 一方、 行いたい作業のほとんどがエクセルシートの追加や編集ですので 私だったら DoCmd.RunSavedImportExportの作業までをアクセスで行い それ以降の作業はエクセル+エクセルのVBAで行うだろうと思います。 あるいは、 DoCmd.RunSavedImportExport の作業も エクセルのVBAで行います。 エクセル+エクセルのVBAの話になれば 経験者がアクセスに比べて多いですから 具体的な説明をすることで、 多くの皆さんからアドバイスや支援を受けられるだろうと思います。

aka_ao
質問者

お礼

なるほど・・。 ちなみに、アクセスのフォーム画面にある「出力」ボタンから、エクセルVBAの実行も可能なのでしょうか?可能なのであれば、処理を分岐して考え、ここから先は「エクセルVBAを実行させる」というのもアリですが、それができないのであれば、アクセスで一連の処理を実装させたいのが正直なところです。

専門家に質問してみよう