• ベストアンサー

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

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

  • ankle
  • お礼率43% (80/182)

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

  • ベストアンサー
  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.2

エクスポートする際に「テキスト型」と判断されてるんだと 思います。恐らく255文字あたりで切れてませんか? レジストリを修正することで解消すると思います。 やるときは自己責任でお願いします。 レジストリエディタを起動して、下記2点を修正します。 HKEY_LOCAL_MACHINE   SOFTWARE     Microsoft       Office        14.0         Access Connectivity Engine           Engines             Excel              TypeGuessRows ←この値を0に修正 HKEY_LOCAL_MACHINE   SOFTWARE     Microsoft      Jet       4.0        Engines          Excel           TypeGuessRows ←この値を0に修正 インポート/エクスポートする際は、先頭から8行目までの データでデータ型が確定するようです。 上記のレジストリを0にすることで、先頭から16384行目までの データがチェックされるようになります。よって、16384行目までに 255文字以上のデータが1つでもあれば、メモ型となります。

ankle
質問者

お礼

naoto0216さん、ありがとうございます。 早速試してみます。

その他の回答 (1)

  • panacon
  • ベストアンサー率31% (214/679)
回答No.1

クエリでも書式設定できますので、そちらを確認してみてはと思います。 因みに、日付の書式をクエリで行わないと、月の表示が英語3文字になると思います。これについては、クエリで日付の書式設定をすると、yyyy/mm/ddにすることもできます。 試してみてください。

関連するQ&A

  • Access→Excelへエクスポートすると日付の表示形式が変化する

    DoCmd.OutputTo acOutputQuery, "クエリ1", "MicrosoftExcelBiff8(*.xls)" のように クエリをエクセルへエクスポートしたときに もともと「2009/05/27 23:21:00」と入力されていた(DATE型の)日付の形式が エクスポート後は「27-May-09」に変わってしまいます。 そのままの書式でエクスポートするにはどうすればいいですか? よろしくお願いします。

  • 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になりまして、問題はないのですが、ファイル名は自分で指定したいのです。 ご指導よろしくお願いします。

  • 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

  • アクセス2000→エクセル2010へエクスポート

    Private Sub cmd出力ボタン_Click() DoCmd.SetWarnings False DoCmd.TransferSpreadsheet acExport, 8, "出力クエリ", "C:データ.xlsx", True, "" DoCmd.SetWarnings True End Sub 実行すると 外部テーブルのフォーマットが正しくありません と出てしまいます。 エクセル97の形式にエクスポートする際は大丈夫でした。 spreadsheettypeの引数が違うのかとは思いますが適切な数値がわかりません。 他のやり方等もあれば教えて下さい。

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

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

  • エクセルへのエクスポート

    ACCESS 2003 の VBA で下記の命令を実行してエクセルファイルをエクスポートします。 (環境はSQLserver2008、XP+ACCESS2003+EXCEL2003) DoCmd.OutputTo acOutputStoredProcedure, "テーブル名", acFormatXLS, "C:\ACCESS\テーブル名.xls" (1) 日付型(datetime)のフィールドの表示が「20-Dec-09」となってしまいます。 最初から「2009/11/20」と云う型でエクスポートできないのでしょうか? (2) エクスポートされたファイルを開いて保存するときに 「Excel 5.0/95 ブックです。最新の Excel のファイル形式に更新しますか?」 と表示されます。 (VISTA+Access2003+Excel2007は表示されません) 最初から2003のファイル形式でエクスポートする方法はありませんか?

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

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

  • ACCESSデータをEXCELに出力したい。

    ACCESSでフィルタを使って複数項目(空欄の箇所がある場合もあり)を抽出したデータ(サブフォームに表示)だけをEXCELに出力したいのですが、下記のコードではすべてのデータが出力されてしまいます。 ------------------------------- Private Sub 出力_Click() DoCmd.OutputTo acOutputQuery, "Q_出力", acFormatXLS End Sub ------------------------------- 情報が少なかったらすみません。 よろしくお願いいたします。

  • Access2000よりエクセルへエクスポートする際の範囲?

    こんばんわ。 最近アクセスを始めたばかりの初心者です。 この度、クエリよりエクセル(Ver.2000)へデータのエクスポートをしたいと思ったのですが、最初の一回目はうまくいくのですが、テストを繰り返すと(恐らくレコードが増えるため)、範囲を拡張することができません、というエラーが出てエクスポートができません。どのように解決したら宜しいのかご教示頂けたらと存じます。今は下位のようにしています。 Docmd.TransferSpreadsheet acexport, 8, "クエリ名","パス\エクセルファイル名", True 宜しくお願い致します。

  • ACCESSからエクセルへのエクスポートについて

    はじめまして。 VB2000、Office2000の環境です。 (1)複数のクエリの内容を、フォームにあるボタンを押下すると、テンプレートのエクセルを   別名保存してそのエクセルに出力する (2)同一エクセル内に用意してある計算式(出力したデータを計算)が設定されているシートに   結果を表示 ※クエリ結果は日々変わります。 ※計算式の設定してあるシートはテンプレートに用意したいと思っています。 上記をボタンを押下すると自動的に(1)、(2)が実行され、デスクトップにエクセルが出力される といった機能を作っています。今現在はクエリの内容をエクセルに手動で貼り付けています。 出力は問題なくできたのですが、その後の計算処理の実装方法が分かりません。 出力は DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "クエリ(1)", DeskTopPath() & Format(Date, "yyyymmdd") & "_シート.xls", True で行っています。 クエリは(1)~(14)あり、別シートにそれぞれ出力しています。(計14シート) 該当するシートがないと、計算式のあるシートでエラーが出てしまいますし、 頭が痛いです。 このような要件を解決する手段は何かありますでしょうか? 当方勉強を始めたばかりで行き詰っております。 どうぞよろしくお願いいたします。

専門家に質問してみよう