Access 2007でVBAを実行しており、Excel2007スプレッドシートを作成しようとしています。次の形式を使用しています。
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table/Query Name Here", "FileNameHere".
as
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "DimWebSample_Final", gsExportFilePath & gsExportFileNameBody & "_" & Month(gdDate) & Day(gdDate) & Year(gdDate) & "_" & gsDatasetExportFileSuffix(giDatasetID) & ".xls", True
コンピューターにExcel2007がありますが、acSpreadsheetTypeExcel9を使用すると、Access2007のヘルプに従ってExcel87または2000のスプレッドシートが作成されます。それが私たちが得るものです。ヘルプには、2007年の結果に使用する別のacSpreadsheetTypeExcelnn定数はリストされていません。
Excelを作成するにはどうすればよいですか2007スプレッドシート?
Excel 2007で導入 2つの新しい形式xlsbとxlsx。したがって、どちらかを選択する必要がありますacSpreadsheetTypeExcel12
またはacSpreadsheetTypeExcel12Xml
ファイル拡張子がタイプと一致しない場合、Excelはファイルを開くときに文句を言うので、拡張子が正しいことも確認する必要があります。
DoCmd.TransferSpreadsheet acExport,acSpreadsheetTypeExcel12, _
"Table1", _
"Table1.xlsb"
または
DoCmd.TransferSpreadsheet acExport,acSpreadsheetTypeExcel12Xml, _
"Table1", _
"Table1.xlsx"
Xlsxファイルを開くと、次のメッセージが表示されますfound unreadable content in 'Table1.xlsx'
Yes
ボタンをクリックしてファイルを修復した後、次のメッセージが表示されますRepaired Records: Cell information from /xl/worksheets/sheet1.xml part
何起こった?そしてどのようにこれを防ぐことができますか?