アクセスでOutputTOを使用してエクセルへ

このQ&Aのポイント
  • アクセスでOutputTo acOutputFormを使用して、エクセルへデータをエクスポートしています。
  • フォームには、コンボボックス1、コンボボックス2、テキストボックス1を用意し、データを抽出し、フォーム上に表示されたデータのみをエクスポートしています。
  • エクスポートされたエクセルデータを確認すると、コンボボックス1、コンボボックス2、テキストボックス1も、エクセルデータの項目としてエクスポートされてしまいます。このコンボボックス1、コンボボックス2、テキストボックス1をエクセルにエクスポートしなようにする方法はありますか?
回答を見る
  • ベストアンサー

アクセスでOutputTOを使用してエクセルへ

アクセスでOutputTo acOutputFormを使用して、エクセルへデータをエクスポートしています。 フォームには、コンボボックス1、コンボボックス2、テキストボックス1を用意し、 データを抽出し、フォーム上に表示されたデータのみをエクスポートしています。 エクスポートされたエクセルデータを確認すると、コンボボックス1、コンボボックス2、 テキストボックス1も、エクセルデータの項目としてエクスポートされてしまいます。 このコンボボックス1、コンボボックス2、テキストボックス1をエクセルに エクスポートしなようにする方法はありますか? 下記でエクスポートしています。 DoCmd.OutputTo acOutputForm, "F_設備", , "\\***\***\***\" & "book1.xls", True

  • cuxxx
  • お礼率94% (18/19)

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

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (295/459)
回答No.1

OutputTO でということなら エクスポートする前に   Me.コンボボックス1.Visible=False のようなコードで非表示にしてから出力すればエクスポートされませんが。 確認していませんが、 DoCmd は 非同期なので Visible を True に戻すタイミングが難しいかもしれませんね。 これがうまくいかないようなら オートメーションでやる方法かな。

cuxxx
質問者

お礼

ご回答ありがとうございます。 Visibleを使用しなんとかできました。 ありがとうございました。

関連するQ&A

  • AccessのExcel出力について

    お世話になります。 教えてください。サブフォームを含んだフォームがあって、 このフォームで絞り込んだデータ(メインフォームとサブフォームの データ)をエクセルに出力する際、サブフォームのデータが出力されません。 ちなみにメインフォームには工事のデータ、サブフォームには その工事で使用した部品とその金額が入っています。 メインフォームのデータは『DoCmd.OutputTo acOutputForm』で すんなりと出力できたのですがサブフォームのデータが出力されません。 合計金額だけでも出力しようとメインフォームにテキストボックスを置き、 そのコントロールソースに『=サブフォームの合計金額』として表示できる ようにし、エクセルに出力しようとしましたがデータは出力できませんでした。 文章がわかりにくくて申し訳ありませんが、どなたかよい方法をご存知でしたら 紹介願えませんでしょうか。 よろしくお願い致します。

  • MSアクセス エクセルへのエクスポートについて

    アクセスの初心者です。いろいろ調べてみたのですがわかりません。どうか教えてください。よろしくお願いします。 アクセスのフォームにボタンを作り、そのボタンを押すとエクセルにエクスポートするように設定しました。しかしデータが全てエクスポートされてしまいます。目指しているのは”開いているフォームのデータのみをエクスポートしたい”のです。 フォーム名:申込書 エクスポートしたいフォームのデータ(クエリ)名:申込書 エクスポート先:エクセルc:¥申込書 です。 主キー:申込ID 仮にフォームで申込IDが「3」を開いていれば、その「3」のデータのみをエクスポートするVBAを教えてください。 現在はここまでの段階で止まっています。↓これにプラスする記述で目指すものができればと思います。 DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "申込書", "c:\申込書.xls", True, "" お手数ですがよろしくお願いします。

  • AccessからExcelへエクスポートするVBA

    いつもお世話になっております。 AccessのクエリからデータをExcelにエクスポートします。 形式はMicrosoft Excel97-2003です。 フォーム"F_全データ"にボタンを付けて、クリックするとファイル名を自分で付けて保存する。というVBAを作成したいです。 1つ目のVBAは DoCmd.OutputTo acForm, "F6_全データ", "MicrosoftExcelBiff8(*.xls)", "", False, "", 0 これだと、ファイルの種類が、Microsoft Excel5-7になってしまい困ります。 この形式になってしまうと、Excelデータを開くと、文字数が多いところが保存されていません。これだと困ります。 2つ目が DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "F_全データ", "○○○.xls" こちらですと、ファイルの種類は97-2003になりまして、問題はないのですが、ファイル名は自分で指定したいのです。 ご指導よろしくお願いします。

  • エクセル2003でフォームを作成しています。

    エクセル2003でフォームを作成しています。 ネットワーク上にある”元データ.xls”のデータをもとに”集計.xls”にある フォームにデータを引っ張ってきたいと思っています。 ”集計.xls”には、コンボ1つと”元データ.xls”と同数のテキストボックスを設置してあります。 コンボには”元データ.xls”のA1:A1000までを課題番号としたものをRowSourceにセットしてあります。 コンボから課題番号を選ぶと、テキストボックスに”元データ.xls”の値を出したいのですが どうすればよいのでしょうか。 アクセスのSelect Fromのようなことをしたいと思っているのですが、すみません意味分かりますでしょうか。よろしくお願いいたします。

  • ACCESS2013VBA任意の文字列付与する方法

    ACCESS2013を使用しています。 メニュー用に作成したフォームにコマンドボタンを置いて、下記のようなソースを割り当て、 ボタンを押すとstrPathで指定したフォルダ内にエクセル形式にて出力するようにしています。 このフォームにテキストボックスを置いて、そこに入力した文字を出力するファイル名の末尾に 付与するにはどうしたら良いでしょうか? よろしくお願いいたします。 Function 一括エクスポート() On Error GoTo 一括エクスポート_Err strPath = "C:\Users\tanaka\Desktop\エクスポート\" DoCmd.OutputTo acOutputQuery, "DCAC", "ExcelWorkbook(*.xlsx)", strPath & "エクスポートデータ1.xlsx", False, "", , acExportQualityPrint DoCmd.OutputTo acOutputQuery, "DCAC", "ExcelWorkbook(*.xlsx)", strPath & "エクスポートデータ2.xlsx", False, "", , acExportQualityPrint DoCmd.OutputTo acOutputQuery, "DCAC", "ExcelWorkbook(*.xlsx)", strPath & "エクスポートデータ3.xlsx", False, "", , acExportQualityPrint 一括エクスポート_Exit: Exit Function 一括エクスポート_Err: MsgBox Error$ Resume 一括エクスポート_Exit End Function

  • アクセス2003からエクセル形式でのエクスポート

     いつもお世話になっております。  さて、アクセス2003のデータを「DoCmd.OutputTo acOutputQuery」で、エクセル 2003形式でエクスポートしましたが、長い文字(テーブルは「メモ型」)の文章だと 途中で途切れてしまいます。  500文字位の長い文章でも、途中で途切れずエクスポートできる方法をお教え 願えませんでしょうか。  どうぞよろしくお願いします。 【例】 クエリ名:Q_AAA 出力先:デスクトップ 出力するエクセル名:bbb.xls

  • ACCESSのクエリの抽出

    ACCESS2003を使っています。フォームのコンボボックスに入っているデータを見てクエリで抽出したいと思っています。 フォームのコンボボックスにデータが入っているときは、そのデータで抽出を行い、nullのときは抽出をやめてすべてのデータを表示させたいです。 抽出項目には、null値はありません。 クエリの抽出欄に下記の式を入れましたがうまくいきません。 IIf(IsNull([Forms]![フォーム名]![コンボボックス名])=true , Is Not Null , [Forms]![フォーム名]![コンボボックス名]) コンボボックスにデータが入っている場合は、抽出はうまくいくのですが、nullのときは、何も表示されません。 どこか式が違っているのでしょうか? よろしくお願いします。

  • AccessのフォームをExcelに出力

    いつもお世話になっております。 現在、Access2003でDBを作成中です。 "テーブル1"をパラメータクエリで抽出します。"クエリ1"。 そのクエリを基にフォームを作成しています。"フォーム1"。これは抽出して印刷したり、Excelに出力するために作成しました。レポートではなく、フォームにした理由は、コマンドボタン等を配置できることからです。 Excelに出力する際のVBAでつまづいてしまいました。 DoCmd.OutputTo acOutputForm, "フォーム1", acSpreadsheetTypeExcel9 これで問題なく出力できています。が、、、 Access2007の一部のPCでこれを実行するとエラーが出ます。 原因は"OutputTo"が含まれているとエラーになるようです。 ちなみにエラーは「現在出力しようとしているオブジェクトの形式は無効です。」 「2007 Office スイート Service Pack 2」こちらをインストールすると良いそうなのですが、だめでした。 WindowsXP、Office2007はこのVBAだとエラーになります。 WindowsVista、Office2007は正常に使えました。 PCの何か設定?と考えたりもしたのですが、はっきりとした原因がわからないのでは、他の人にDBを使っていただけないので、エラーにならないVBAでいきたいです。 もうひとつ、 mFileName = InputBox("ファイル名を入力してください。") DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "フォーム1", mFileName こちらのVBAはクエリの出力だとうまくいくのですが、フォームだとだめでした。 クエリから抽出して保存すれば良いのですが、理想はこの形です。 1.フォーム1を開くと「担当者を入力」とパラメータクエリが働き、抽出結果をフォーム1に表示される。 2.[出力]ボタンを押すと、ダイアログボックスが開いてファイル名を指定して保存する。または、ダイアログボックスが開かなくても名前を指定できれば良いです。最悪、指定できなくても良いですが、原因となる、"OutputTo"を避けたVBAでいきたい。 3.mFileName = InputBox("ファイル名を入力してください。") DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "クエリ1", mFileName これだと、1.でパラメータクエリで抽出結果をフォームに表示させて、2.で[出力]ボタンを押すと、また、パラメータクエリで抽出しなければならなくなるのでできれば避けたいです。 こちらの条件でご教授お願い致します。 また、WindowsXP、Office2007でエラーが出ましたので、これを解決する方法でも良いです。 よろしくお願い致します。

  • accessからエクセルにエクスポートしたファイルを開きたい。

    accessのマクロ・ワークシート変換で4枚のシートを含むエクセルファイルを作るように設定をしたのですが、これをエクスポートが終わったら自動的に開くようにしたいのですが、どのようにしたらよいでしょうか。 VBAで DoCmd.OutputTo acOutputTable, "tbl_aaa", acFormatXLS, , True と試してみましたが、シートは一つのみになってしまいます。 1つのエクセルファイルに4枚のシートを出力して、それを立ち上がるようにしたいです。 DoCmd.TransferSpreadsheet acExport, … も考えたのですが、エクセルを開く書き方がわかりません。 よろしくお願いします。

  • Excelのデータをインポートする方法

    いつもお世話になっています。 現在、以下のような仕組みでExcelにエクスポートしています。 コマンドボタンをクリック→出力用のクエリテーブルが非表示で開き抽出条件がかかる→ Excelにエクスポートする→非表示のフォームが閉じる Private Sub send_ex_shido_Click() DoCmd.OpenForm "会員名簿", acFormDS, , "[年度] =" & Me.年度 & " And [クラス] =" & Me.クラス, , acHidden DoCmd.OutputTo acOutputForm, "会員名簿", acOutputXls DoCmd.close acForm, "会員名簿" End If End Sub これを、コマンドボタンをクリックすると、反対にエクスポートしたファイルに情報を追加したものを、 インポートしたいのです。 もしかしたら、ツールコマンドの「外部データの取り込み」からExcelファイルをクエリテーブルに入れる方法があるかも、、、と思いましたが、手詰まりの状態です。 どうかお力添えをお願いいたします。

専門家に質問してみよう