• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Access2013】エラー回避 他)

Access2013のエクスポート設定についての質問

kkkkkmの回答

  • kkkkkm
  • ベストアンサー率65% (1641/2491)
回答No.1

> 3.xlsxファイルを開くとエラーが出る DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Q_管理表", sFina を DoCmd.OutputTo acOutputQuery, "Q_管理表", acFormatXLSX, sFina にしてください。 ダイアログの件ですが、 最上部に Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _ ByVal nCmdShow As Long) As Long として ShowWindow oexcel.hwnd, 1 を SaveFile_FileDialog() の最初に記載すれば表示されるようになると思いますが、エクセルが起動するので遅いと思います。 以下の方法に変更してみてはいかがでしょう。 VBA:AccessのFileDialogを使用して[名前を付けて保存]ダイアログボックスを表示するサンプルプログラム https://selifelog.com/blog-entry-249.html 設定は簡単、ただし、保存するファイルの種類を指定(限定)したりすることもできない 種類が指定できるが設定が上記より多少手間かも Access VBA:WizHookオブジェクトを使用して[ファイルを開く]、[名前を付けて保存]ダイアログボックスを表示するサンプルプログラム https://selifelog.com/blog-entry-53.html

KO1014
質問者

お礼

ご回答ありがとうございました。 1.と3.に関しては「書式設定を保持したままエクスポート」され、「修復されたレコード」のみのエラーになりました。 助かりました。 2.に関してですが、ご教示いただいた”Public Declare Function ~”を最上部=”Private Sub Excel出力_Click()”の次の段に貼り付けたのですが、赤文字になってしまったのでエラーのようです。 ”ShowWindow oexcel.hwnd, 1”の貼り付け位置は”Public Function SaveFile_FileDialog() As String”の上の段でしょうか?貼り付けても”End Sub”の下に表示されてしまいます。 質問にも記載した通り、Accessを開いてデザイン編集しなかった場合は表示されないのに、編集した後はきちんと表示されるのが不思議です・・・ 2つのリンクを見てみましたが、さっぱり分かりません・・・ そもそもVBAはネット情報そのままを貼り付けているだけなので、仕組みは全然理解しておりません・・・

関連するQ&A

  • Access マクロビルダーで使うIF文について

    よろしくお願いします。 Access2010のマクロビルダーを使って以下を作成しています。 ----------------------------------- ●やりたいこと 1.フォーム内にあるリスト(項目は"1"か"2")から選択する。 2.リストを選択した後、マクロ実行ボタンをクリックする。 3.リストで!”1”を選べばクエリ1がExcel出力される。   リストで!”2”を選べばクエリ2がExcel出力される。 ●フォーム フォーム名:フォーム1 リスト名:リスト1 (項目:"1","2") ●マクロビルダー If [Forms]![フォーム1]![リスト1]=1 Then アクション:「書式設定を保持したままエクスポート」 オブジェクト名:クエリ1 出力ファイル形式:*.xlsx 自動起動:いいえ 出力品質:画面 Else If [Forms]![フォーム1]![リスト1]=2 Then アクション:「書式設定を保持したままエクスポート」 オブジェクト名:クエリ2 出力ファイル形式:*.xlsx 自動起動:いいえ 出力品質:画面 If文の最後:メッセージ「リストから選択してください」 ----------------------------------- 以上を実行すると「エラー13 型が一致しません」とエラーが出てしまいます。 If文でつまずいている状況で、 検索してもなかなか有効な解決方法が見つかりません・・・。 どこを間違えているのでしょうか。

  • Accessマクロでのエクスポート

    Accessマクロで「書式設定を保持したままエクスポート」を使用し、テーブルをExcelにエクスポートしています。 終了時に、正常終了メッセージを出力していますが、エクスポート時のファイル選択ダイアログで「キャンセル」を押下した際も、この終了メッセージが出力されてしまいます。 マクロのアクションカタログにて、「ファイル選択ダイアログでキャンセルが押されたか?」を判定することはできますでしょうか?

  • Access2007のエキスポートについて

    Access2007でマクロを使ってExcel2007のファイル(xlsx)形式へエキスポートします。その際、 ・「ワークシート変換」を指定 ・ワークシートの種類に「Excel Work book」 ・出力ファイルパスに「(絶対パス)\(ファイル名).xlsx」 としました。 既にAccess2007のテーブルには、65535行を超える200000行のレコードが入っていることが確認できてます。 マクロを実行すると、「指定範囲を広げることができません」とダイアログが出てしまい、マクロが中断し、異常終了してしまいます。 windowsXP SP2 pentium4を使用。 異常終了せず、全レコードをファイルにエキスポートする方法はありませんか? 宜しくおねがいいたします。

  • Access2007のCSVエクスポートについて

    Access2007のTransferTextでのエクスポート定義についての質問です。 エクスポートウィザードの「設定」からエクスポート定義を作成する方法は分かるのですが これだと保存先のパスをVBA内で任意に指定することが出来ません。 エクスポート定義のみを作成する方法をお教えいただけませんでしょうか。 以前、行ったことが有るのですが処理方法を忘れてしまいました。 行いたいことは、VBA内で出力先パス・出力先ファイル名を任意に指定し ダブルクォーテイション無しのCSVファイルを作成したいのです。 よろしくお願いいたします。

  • Access2003について

    Access2003を使ってます。 Access2003でcvsをインポートし、編集して、エクスポートし FFFTPに放り込んで・ ・ ・という ことをしているのですが Access2003でせっかく頑張って編集したのですが、 一旦編集を保存したりエクスポートしたりすると 次開いた時に、レコードの番号がぐちゃぐちゃになり困ります。 どのような設定をすれば このレコードの順を編集してるときに同じ順序で 保存したり エクスポートしたりできるのでしょうか なるべくわかりやすい単語を使って説明してくれるとありがたいです

  • Access 1レコードずつcsvで出力したい

    使用しているのはAccess2000です。 クエリのレコードを、1レコードずつcsvにエクスポートしたいのですが、マクロなどで自動的におこなうことはできないでしょうか? 例. クエリ名:test レコード数:100件 フィールド名:ファイル名 testクエリの1から100までのレコードを、1件ずつcsvへエクスポートする。保存する際は「ファイル名」を参照して、csvファイル名とする。100件分のこれらの作業をすべてマクロ等で自動化したい。 VBAの知識はほとんどありませんが、VBAによる回答でも構いません。 よろしくお願いいたします。

  • 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

  • Accessにインポートしようとするとエラーに

    Access2000にcsvファイルをインポートしようとすると、最後の「完了」ボタンクリック時に、下記エラーが表示され、 インポートが行われません。 「フィールド'フィールド名'の開始位置'35642'が有効ではありません。開始位置は32,767以内で指定してください。」 「インポート/エクスポート定義 'ファイル名 インポート定義'を保存するときにエラーが発生しました。」 これは、どこを修正すればいいのでしょうか?

  • ACCESS VBA カレントレコードの値がとりたいが・・・

    お世話になります。 ACCESS VBAについての質問です。 FORM1にSUBFORMを貼り付けています。 このときSUBFORMはデータシートで表示しています。 このときに データシートで選択したカレントレコードの フィールド1にはいっている値を保持したいのですが… 値を取るVBAの書式がわかりません。 それともとれないのでしょうか・・・ お分かりになる方、よろしくお願いします。

  • Excel VBA Accessでデータ取り込み

    Excel VBA、Access VBAについてお教え下さい。 「My_Excel.xlsm」というファイルがあります。このファイルにはボタンが1つあります。 このボタンを押すことにより、「Imp_Excel.xlsx」というファイルを取り込みたいと思います。 取り込み先ですが、「My_Excel.xlsm」に取込むのではなく、Accessの「My_Access.accdb」の「T_MyTable」というテーブルに取り込みたいと思っています。 Accessから直に「Imp_Excel.xlsx」をインポートするには、TransferSpreadsheetを用いれば比較的簡単にデータをAccessに取り込むことができるのですが、「My_Excel.xlsm」をまたいでAccessに取り込みたいので、TransferSpreadsheetは使えません。 やり方としては、 My_Excel.xlsxを開く。 レコードセット取得。 レコードセットがEOFになるまでまわして、SQLのINSERT、またはAddNewメソッドを使用して1件1件挿入していくしか方法はないでしょうか? 今のところ、私が思い浮かぶのは上記の方法なのですが、何かもっと簡単にやれるような方法はあるでしょうか?よろしくお願いします。