質問: aplication.CurrentProject.path & "\Book1.xlsm"のブック形式を「.xlsx」にしたところ、問題なくエクスポートできました。 今回は「.xlsm」へのエクスポートがしたいのですが・・・。 なお、マイクロソフトのオフィシャルページでは対応可能な形式でした。 https://docs.microsoft.com/ja-jp/office/vba/api/access.acspreadsheettype ### 補足情報(FW/ツールのバージョンなど) Access2016です。
回答: 先ず、手動でのエクスポート 出力先を.xslmにしましたが、.xslxに強制的出力されます。 次にVBAで試しました。※質問のコードは`TransferSpreadsheet`のスペルが誤っていますが大丈夫ですか? 結果はエラーの内容が異なりました。 !![イメージ説明](9af0e3cfab29639075a4742ea4182156.png) 以上の事から、`TransferSpreadsheet`の`acSpreadsheetTypeExcel12Xml`は「Microsoft Excel 2010/2013/2016 XML 形式」というXMLの形式という事だけで、`.xslm`には対応していないと思われます。 日本語文献は見当たりませんでしたが、海外サイトでももっぱら出来ないという記事しか見当たりません。 対応としては、エクセルブックを開いて編集するというものでした。 「外部テーブルのフォーマットが正しくありません。」というメッセージについては、別物という気がします。 クエリーの結果をエクセルを開いて貼り付ける処理は以下が参考になると思います。 Excelへの出力(DAO) ※「access recordset シートへコピー」辺りで検索すれば他にも事例は見つかります。