通过VBA更改Excel选项

由于有些人误解了我,这不是关于储蓄。 问题是另一个;)

我正在与Excel 2007,并有一个问题。 在我的macros中,我必须确保一个选项设置正确。 选项如下:office symbol – > excel-options – >保存,然后第一个下拉菜单/combobox被定期设置为“.xls”,但必须是“.xlsx”是否有任何VBA命令解决了这个问题? 解决方法可能是我写一个batch file来更改registry,但我不想使用外部代码。

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

我不能告诉我希望它是.xlsx

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

Application.DefaultSaveFormat = xlOpenXMLWorkbook 

将保存格式设置为.xlsx

有一个另存为function,你可以用它来select他们保存文件的types(它看起来像51是你想要的)

然后,您只需要覆盖保存调用以调用您所需的文件格式的SaveAsfunction。

编辑:

这是一个覆盖保存事件的例子(第二个回复)

我能问一下上下文吗? 原因是您可以将SaveAs设置为等于VBA中的xlsx。 因此,您可以创build一个button,使用户能够保存到您的要求。

麦克风

您以后的编辑表明,起始格式不是xls,而是xlsm,这意味着它启用了macros。

Excel 2007和以上将强制一个macros的文件有一个xlsm扩展名。 你可能不会绕过它的坚持。

如果您确实需要将其保存为xls扩展名,则必须在保存过程中删除该macros。