2012-09-03 44 views
0

由于有些人误解了我的意思:这不是关于储蓄。问题是另一个;)通过VBA更改excel选项

我正在与Excel 2007和有问题。 在我的宏中,我必须确保一个选项设置正确。 选项如下: 办公符号 - > excel-options - >保存 然后第一个下拉菜单/组合框经常设置为“.xls”,但它必须是 “.xlsx” 是否有任何VBA解决这个问题的命令?解决方法可能是我编写批处理文件来更改注册表,但我不想使用外部代码。

编辑: @hydev 好的问题是。我从另一个excel文件复制几张纸并进行大量操作。最初的excel文件的格式是.xlsm,如果我打开一个新的工作簿,它会打开为.xls(由于此配置),但不允许将工作表从.xlsm或.xlsx复制到.xls,因为可能的列范围而.xls的行要小得多。

而且我不能告诉Excel中,我希望它成为的.xlsx

+0

这难道不是为你工作? Dim oBook As Workbook = _oExcel.Workbooks.Open(“C:\ Users \ ThisUser \ Documents \ Data.xlsx”,False) – hydev

+0

我没有Data.xlsx 0 0 –

+0

啊,所以更多的是打开这种格式的文件比保存它们。 –

回答

2

哇我用宏记录器,它的工作。认为它只适用于非全局的Excel设置。我自己的问题的解决方案是。

Application.DefaultSaveFormat = xlOpenXMLWorkbook 

设置保存格式为原来的.xlsx

+0

你一直坚持这与储蓄无关。但是如果你想要拯救,你只需要这个,这就是令人费解的。很高兴你能成功解决这个问题 – datatoo

0

我能问语境?原因是您可以将SaveAs设置为等于VBA中的xlsx。因此,您可以创建一个按钮,使用户能够保存您的要求。

迈克

1

有一个Save As功能,你可以用它来选择自己保存文件类型(它看起来像51你想要的)

然后你只需要重写保存使用所需的文件格式调用SaveAs函数。

编辑:

这里的人overriding the save event的样品(第二回复)

+0

保存没有问题;) –

+0

这是我也尝试过的.'Workbooks.Add Template:= xlOpenXMLWorkbook'我用每个模板都做了这个。 –

0

你以后的编辑表示起始格式不XLS,而是XLSM,这意味着它是宏观启用。

Excel 2007及更高版本将强制使用宏的文件具有xlsm扩展名。你可能不会绕过它,坚持这一点。

如果您确实需要将其保存为xls扩展名,则必须将该宏作为保存过程的一部分删除。

+0

这不是关于在我的文章中储存=第一句 –