• ベストアンサー

AccessVBAについて (Excel起動)

こんにちわ。 AccessVBAを使って2週間の新米です。 質問なのですが、Accessの帳票形式のフォームから OKボタンを押すなりして、Excelを起動し、帳票の 内容をExcelに貼り付けたいのですが、方法がわかり ません。 いろいろ検索をしてみましたが、検索のキーワード が悪いのか、良いものがひっかかりませんでした。 よろしければ詳しくご解説願いたいと思います。

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

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

検索キーワードを[CopyFromRecordset CreateObject("Excel.Application")]としてみてください。 ACCESS VBEの ツール>参照設定で[Microsoft Excel XX Object Library]にチェックつけるのを忘れずに。 (XXはバージョン。2000は9.0、2002は10.0、2003は11.0)

mttk1238
質問者

お礼

お返事ありがとうございます。 おかげで解決することができました!! またよろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • AccessVBA 「次へ」ボタン

    私の環境はOS:Xp      ACCESS2000です。 宜しくお願いします。 大変抽象的な質問の仕方で申し訳無いのですが、 テーブルにセットされているレコードを検索したいのですが、「次へ」というボタンを作ってそれを押すと今表示されている内容の次のレコードの内容が表示されるという仕組みのボタンを作りたいのです。 それをAccessVBAで記述したいのですが、どのように記述したら良いか解りません。 もし知っていらっしゃる方がおられましたら、宜しくお願い致します。

  • AccessからExcelの起動、Excel単独起動と違う動作になる。

    お世話になります。 Access2007からExcel2003を起動しようとしています。 実際には、AccessVBAより、以下のような呼び方をしています。 ----------------------------------- Dim xlApp As Object Dim xlBook As Object Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True xlApp.AutomationSecurity = 2 Set xlBook = xlApp.Workbooks.Open("C:\分析.xls") Set xlBook = Nothing Set xlApp = Nothing ----------------------------------- (手動で閉じる) 大体おおまかにこんな感じで作ってあります。 起動するExcelにはボタンが張り付けてあり 押すと処理が開始されます。 実際、起動そのものはされるのですが、同一ファイルにて 1.AccessからExcelを起動してボタンを押す 2.Excelを直接起動してボタンを押す の場合、Accessからの起動では、うまく処理が行われません。 直接起動でうまくいくので、ExcelのVBAの問題ではなく、 起動時の指定、または起動のやり方がまずいのでは、と とらえていますが、調べてもわからない状態が続いています。 (開き方や、マクロの呼び出し等方法を変えましたが  うまくいきません) Excelでは主に、ピポットテーブルを利用してPasteSpecialで値を 設定している作りになっています。 Access2007でもAccess2003でも同じだったと思います。 同様な経験をされ解決した方、方法をご存じの方、 ぜひ教えていただければと思います。

  • AccessVBA 書き出しについて

    こんにちは。いつもお世話になります。 早速ですが質問させてください。 あるフォームの中に書き出しを実行するためのコマンドボタンを作成 しました。そのボタンをクリックすると、「OutputTo」でエクセルまたはテキストファイルとして出力するように書いています。 そこで質問です。そのフォームのなかにはフィルター検索用の検索文字 を入力するためのテキストボックスをフォームフッターに配置しています。 書き出しボタンをクリックすると、フォームのレコード内容と一緒に そのテキストボックスの名前も一つの列(項目)として出力されます。 フォームフッターを出力させないような方法はありますでしょうか?

  • スプレッドシート

    今度VB6とスプレッドシートのアプリケーションを使って帳票形式のフォームを組み合わせたプログラムを作る事になったんです。 Excelなら理論的に理解してるし、帳票形式のフォームはAccessで理解しているんですが、大まかに言ってどうすればスプレッドシートアプリケーションを帳票形式のフォームとして機能させれるんでしょう???

  • AccessからExcelのファイルを起動する

    Accessのフォーム上にボタンを作成して クリックすると特定のExcelのファイルが起動する ようにしたいのですが、簡単な手はありませんか?

  • アクセスで指定したレコードをフォームで開く方法?

    アクセスで、帳票形式のフォームで選択したレコードの内容を、詳細を表示する用のフォーム(単票形式)で開きたいのですが、どうしたらよいのでしょうか?(初心者です) 例えば、帳票形式のフォームで「予約番号:1」のレコード 選択した状態で、ボタンをクリックすると、 詳細を表示する用の単票形式のフォームの「予約番号:1」のレコードが表示されるようにしたいのです。 マクロでは出来なそうなので、VBAで・・・というところまでしか検討がつきません。 使用しているのはアクセス2002です。 どなたかご存知の方がいらっしゃいましたら、教えてください。よろしくお願いします。

  • AccessVBA 帳票フォームの非連結コントロールにデータを入力したいが

    AccessVBAの質問です。 フォームを帳票フォームにして、一覧形式でデータを表示しています。 その中に、データ元となるクエリーとは関係なく、非連結のコントロールが一個あります。 そこに、自由に値を入力して、テーブルへ更新したいのですが・・・。 値を入力すると、一覧上の同じコントロールすべてに同じ値が自動的に入ってしまいます。 行ごとに違う値を入力するにはどうしたらよろしいのでしょうか。 よろしくお願いいたします。

  • ACCESSからエクセルのフォーム

    現在、エクセルでの帳票フォームがあるのですが アクセスへの移行を考えています ただ、エクセルのフォームをそのまま移行する方法がわかりません もしくはエクセルのフォームにアクセスのデータをエクセルのフォームに 書き出す方法を教えて下さい

  • AccessVBAでサポートお願いします。

    こんばんわ。AccessVBA初心者です。 下記のような処理を作りたいのですがわかりません・・。 もしお分かりになる方がいらっしゃいましたらサポートをお願い致します。 「テーブルA」「テーブルB」があり、それぞれのテーブルに連結した「フォームA」「フォームB」(両方とも帳票フォーム)があります。 テーブルには幾つかのフィールドがあり、その中にチェックボックスに連結したフィールドがあります。 まず、「フォームA」を開き、任意のレコードのチェックボックスにチェックを入れ(複数選択あり)、あるコマンドボタンをクリックするとチェックの入ったレコードのみを「テーブルA」から「テーブルB」へ移動させる処理を作成したいのですがどうもうまく作れません。 「テーブルB」へ移動後は「テーブルA」から該当のレコードが削除されている必要があります。 また、テーブルBには随時データが蓄積されていく必要があります。 どなたかお分かりになる方がいらっしゃいましたらご教授願います。 その際、VBAのソースを記述頂けますと助かります。 どうぞ宜しくお願い致します。

  • AccessVBAにおけるOpenArgsの使用について

    AccessVBAを最近はじめた初心者です。 ~~~フォーム1~~~ Private Sub コマンド0_Click() DoCmd.OpenForm "フォーム2", , , , , , "コマンド0" End Sub Private Sub コマンド1_Click() DoCmd.OpenForm "フォーム2", , , , , , "コマンド1" End Sub ~~~フォーム2~~~ Private Sub Form_Load() Dim strFormName As String strFormName = Forms.フォーム1.OpenArgs DoCmd.PrintOut strFormName End Sub 上のプログラムのようにフォーム1でクリックしたボタンによってフォーム2を読み込んだ時の動作を変えるプログラムを作成しようとしています。 しかし、実際に起動させると、『strFormName = Forms.フォーム1.OpenArgs』の辺りで 「Null の使い方が不正です。」 というエラーメッセージが表示されます。 Accessのヘルプを参照に組んでみたのですが、どの箇所が間違っているのでしょうか? 回答、よろしくお願いします。