• ベストアンサー

アクセスにエクセルで作成された帳票をインポートしたいのですが

アクセス初心者です。 似たような質問がありましたがよくわからなかったためお手数ですがご回答願います。 エクセルからデータをアクセスのテーブルにインポートできるということはわかったのですが、エクセルで作成された帳票(ある証明書の申請書です)をアクセスのレポートにインポートすることはできないのでしょうか? できないとすると代替案のようなものがあれば教えていただきたいのですが? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Bickyon
  • ベストアンサー率41% (42/101)
回答No.3

#2です。 具体的に...うーんこの欄で回答するのは難しい... Accessにモジュールを追加する訳ですが、このモジュールの必要な機能は以下のような感じになるかと思います。 1.申請書のExcelファイルをオープンし、申請書のシートをアクティブにする。 2.申請書データのテーブルから印刷対象のデータを抽出するSqlを発行する。(この部分はクエリを利用する手もあります) 3.抽出した申請書データを各セルに設定する。 4.申請書シートのPrintメソッドを発行する。 5.申請書データの件数分、3~4を繰り返す。 6.印刷対象データが無くなったら、申請書のExcelファイルを保存せずにクローズする。 という感じです。 ソースコードについては「AccessとExcel VBA 連携」等のキーワードでWeb検索してみてください。色々なサンプルが見つけられると思います。 でも、Accessを利用していて、レポートオブジェクトの代わりにExcelを使用する。というのは一般的ではないと思います。 アクセス初心者さんということであれば、レポート作成にチャレンジしたほうがスキルアップに繋がりますよ。 頑張ってください。

参考URL:
http://www.happy2-island.com/
komakoma82
質問者

お礼

ご回答ありがとうございました。 >でも、Accessを利用していて、レポートオブジェクトの代わりにExcelを使用する。というのは一般的ではないと思います。 そうなのですね。。。 早速レポート作成にチャレンジします!

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

今の所は、インポートやエクスポートは、データ「値」をソフト間で操作で(従ってVBAでもメソッドが作られている)移すことに使われているようです(例外が少数あるかも)。 ですから罫線、書式、演算数式などを、エクセルからアクセスに操作一発で移すことが出来ないでしょう。 エクセルで出来ているものを、アクセスで重複して作る必要性が良くわかりませんが。 フリーとかで、その目的のソフト(帳票コンバータのようなソフト)があればそれに近いことが、可能なのでしょうが、MSでは現存しないし、既製ソフトも多分ないでしょう。WEBで存在しないか当たってください。 ーー ですから値データは、アクセスがエクセルからインポートするの道は出来上がっていますからそれを行う。 ーー アクセスのレポートの罫線やデータ配置、集計項目、色・フォントなど帳票設計は、エクセルの実寸等を厳密には追わないで、シコシコと、アクセスの問題として作るほかないはずです。 アクセスでは初心者には帳票的レポート作成(明細と合計だけだすようなもの以外)は 難しい(手間がかかる)と思います。

  • Bickyon
  • ベストアンサー率41% (42/101)
回答No.2

Excelのシートの印刷イメージを、Accessのレポートオブジェクトとしてインポートしたい。 という意味の質問であれば、残念ながら無理です。 代替案としては、Access側からVBAでExcelの申請書シートの可変データ部分を編集し、当該シートの印刷を行う。 もしくは、その逆でExcel側からAccessの必要データを取得し、セルに反映する。 というのぐらいしか思い浮かびません。 申請書イメージの罫線付き一品一葉の帳票は、Accessレポートで作成するのは面倒ですが、レポートウイザードで雛型を作成してから、ゴリゴリ加工するしかないと思います。

komakoma82
質問者

お礼

ありがとうございました。やはり無理なのですね。。。 「Access側からVBAでExcelの申請書シートの可変データ部分を編集し、当該シートの印刷を行う。」という意味が(やり方が)よくわからないのですが、もう少し詳しく教えていただけないでしょうか?よろしくお願いいたします。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

>エクセルで作成された帳票(ある証明書の申請書です) たとえばA4一枚で完結するデータ、それが複数ある、ということでしょうか? EXCELで一枚分のデータを一行にまとめる。それを枚数分繰り返す。 データ行数が元データの枚数と同じになるはず。 そこまで準備できてからアクセスへインポート。 で良いのでは? でなければVBAで一ブック一シートを一行のレコードとして処理するコードを記述する、でしょうね。

関連するQ&A

専門家に質問してみよう