简体   繁体   English

如何在MS Access VBA中以较新的格式打开新的Excel工作簿?

[英]How to open up a new Excel Workbook in MS Access VBA that's of the newer format?

I am using MS Access and Excel 2010. 我正在使用MS Access和Excel 2010。

In MS Access VBA, I create/open new workbooks like so: 在MS Access VBA中,我创建/打开新的工作簿,如下所示:

Set objXl = CreateObject("Excel.Application") 
Set xlWBk = objXl.Workbooks.Add

And despite having Excel 2010, for whatever reason this workbook only goes up to 65535 rows, I assume because for some reason it defaults to .xls when making a new book or something. 尽管拥有Excel 2010,但无论出于何种原因,该工作簿最多只能增加65535行,我认为是因为某种原因,制作新书或其他内容时它默认为.xls。

It's only when I save as xlsx/close/reopen it do I get the full 1-million plus rows: 只有当我另存为xlsx / close / reopen时,我才能获得完整的100万行:

xlWBk.SaveAs someFilePath, FileFormat:=xlOpenXMLWorkbook 'xlsx format AFAIK
xlWBk.Close
Set xlWBk = objXl.Workbooks.Open(someFilePath)

Is there a way to default the creation of a new Excel workbook to be in .xlsx format with the full number of rows without needing to save/close/reopen it? 有没有一种方法可以默认创建具有完整行数的.xlsx格式的新Excel工作簿,而无需保存/关闭/重新打开它?

Edit: In my case, changing the default save method in Excel's options doesn't seem to be sticking for whatever reason. 编辑:就我而言,无论出于何种原因,更改Excel选项中的默认保存方法似乎都不会停留。 New workbooks always want to open up in Compatibility Mode. 新工作簿始终希望以兼容模式打开。

You can set the default format before creating the workbook: 您可以在创建工作簿之前设置默认格式

Set objXl = CreateObject("Excel.Application")
objXl.DefaultSaveFormat = xlOpenXMLWorkbook ' or xlOpenXMLWorkbookMacroEnabled
Set xlWBk = objXl.Workbooks.Add

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM