0

由于有些人误解了我的意思:这与储蓄无关。问题是另一个问题;)

我正在使用 excel 2007 并遇到问题。在我的宏中,我必须确保正确设置了一个选项。选项如下:office Symbol -> excel-options -> save 然后第一个下拉菜单/组合框定期设置为“.xls”,但必须为“.xlsx” 是否有任何VBA命令可以解决这个问题? 一种解决方法可能是我编写一个批处理文件来更改注册表,但我不想使用外部代码。

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

而且我不能告诉 excel 我希望它是 .xlsx

4

4 回答 4

2

哇,我使用了宏记录器,它工作正常。认为它仅适用于非全局的 excel 设置。我自己的问题的解决方案是。

Application.DefaultSaveFormat = xlOpenXMLWorkbook

将保存格式设置为 .xlsx

于 2012-09-04T09:43:31.783 回答
1

有一个另存为功能,您可以使用它来选择他们将文件保存为的类型(看起来 51 是您想要的)

然后,您只需要覆盖 Save 调用即可使用所需的文件格式调用 SaveAs 函数。

编辑:

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

于 2012-09-03T14:33:37.963 回答
0

可以问上下文吗?原因是您可以在 VBA 中将 SaveAs 设置为等于 xlsx。因此,您可以创建一个按钮,使用户能够根据您的要求进行保存。

麦克风

于 2012-09-03T14:28:18.047 回答
0

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

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

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

于 2012-09-03T17:07:59.307 回答