簡體   English   中英

無法使用 DoCmd.TransferSpreadsheet 打開從 Access 2010 導出的 .xlsx 文件

[英]Unable to open .xlsx file exported from Access 2010 using DoCmd.TransferSpreadsheet

我在使用DoCmd.TransferSpreadsheet命令將表從 MS Access 2010 導出為 Excel 2010 格式時遇到問題。 代碼在 Access 中運行沒有錯誤,並創建了文件。 但是,當我嘗試在 Excel 2010 中打開文件時,我收到以下錯誤消息: Excel 無法打開文件“XXXXX.xlsx”,因為文件格式或文件擴展名無效。 驗證文件沒有損壞並且文件擴展名與文件格式匹配。 這是我用來設置然后執行導出的代碼:

exportFileName = "\\network1\share$\filename_" & ".xlsx"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "tablename", exportFileName, True

我在發布之前查看了許多可能的解決方案,所以我嘗試了

  • acSpreadsheetTypeExcel12替換acSpreadsheetTypeExcel12Xml
  • 用整數109替換acSpreadsheetTypeExcel12
  • 確保我對保存文件的目錄具有完全訪問/權限
  • File -> Open對話框打開文件,而不是雙擊文件
  • 將文件保存到本地位置,即“C:\Users\paul\Documents\”

這些都沒有解決問題。

我找到的一個解決方案如下:

exportFileName = "\\network1\share$\filename_" & ".xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "tablename", exportFileName, True

其中擴展名為.xls ,電子表格類型為acSpreadsheetTypeExcel8 我現在可以使用這個,但我會很感激任何其他可能的建議。

我最近發現了另一種可以用來導出 excel 文件的方法。

DoCmd.OutputTo acOutputQuery, "YourTableName", acFormatXLSX, exportFileName

這應該按預期工作

exportFileName = "\network1\share$\文件名";

這對我來說很好,沒有擴展名,系統會為你確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM