通过VBA更改excel选项

通过VBA更改excel选项,excel,vba,Excel,Vba,因为有些人误解了我:这与储蓄无关。这是另一个问题;) 我正在使用Excel2007,但遇到了一个问题。 在我的宏中,我必须确保一个选项设置正确。 方案如下: office符号->excel选项->保存 然后,第一个下拉菜单/组合框通常设置为“.xls”,但必须设置为“.xls” “.xlsx” 是否有解决此问题的VBA命令?一种解决方法是编写一个批处理文件来更改regedit,但不想使用外部代码 编辑: @海德夫 好吧,问题是。我从另一个excel文件复制了几张工作表,并进行了大量操作。原始ex

因为有些人误解了我:这与储蓄无关。这是另一个问题;)

我正在使用Excel2007,但遇到了一个问题。 在我的宏中,我必须确保一个选项设置正确。 方案如下: office符号->excel选项->保存 然后,第一个下拉菜单/组合框通常设置为“.xls”,但必须设置为“.xls” “.xlsx” 是否有解决此问题的VBA命令?一种解决方法是编写一个批处理文件来更改regedit,但不想使用外部代码

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


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

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


迈克

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

Mike

您可以使用一个函数来选择他们保存文件的类型(看起来51就是您想要的类型)

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

编辑:

下面是某人的示例(第二个回复)

您可以使用一个函数来选择他们保存文件的类型(看起来51就是您想要的类型)

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

编辑:


下面是某人的示例(第二个回复)

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

Excel 2007及更高版本将强制带有宏的文件具有xlsm扩展名。你可能无法逃避它的坚持


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

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

Excel 2007及更高版本将强制带有宏的文件具有xlsm扩展名。你可能无法逃避它的坚持


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

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

Application.DefaultSaveFormat = xlOpenXMLWorkbook

为了将save format设置为.xlsx,我使用了宏记录器,它工作正常。认为它只适用于非全局的excel设置。我自己问题的解决办法是

Application.DefaultSaveFormat = xlOpenXMLWorkbook

要将“保存格式”设置为.xlsx

是否不适合您?Dim oBook As Workbook=\u oExcel.Workbooks.Open(“C:\Users\ThisUser\Documents\Data.xlsx”,False)啊,所以更多的是以那种格式打开文件,而不是保存它们。对不起@lorenzalbert也许我误解了你。如果您使用VBA,则可以将Excel文件的名称替换到工作簿.Open命令中。然后,这将以.XLSX格式打开Excel文件,您可以根据需要从中读取。运行时没有需要.XLSX格式的文件,但宏正在添加一个新工作簿,而此工作簿必须是.XLSX。我尝试了许多不同的方法使其工作。另一个例子是,如果我添加一个工作簿并将其另存为.xlsx,它仍然被视为.xls,那么它不起作用。这对您不起作用吗?Dim oBook As Workbook=\u oExcel.Workbooks.Open(“C:\Users\ThisUser\Documents\Data.xlsx”,False)啊,所以更多的是以那种格式打开文件,而不是保存它们。对不起@lorenzalbert也许我误解了你。如果您使用VBA,则可以将Excel文件的名称替换到工作簿.Open命令中。然后,这将以.XLSX格式打开Excel文件,您可以根据需要从中读取。运行时没有需要.XLSX格式的文件,但宏正在添加一个新工作簿,而此工作簿必须是.XLSX。我尝试了许多不同的方法使其工作。另一个例子是,如果我添加一个工作簿并将其另存为.xlsx它仍被视为.xls,则它不起作用。这是我也尝试过的。
Workbooks.add Template:=xlOpenXMLWorkbook
我对每个模板都这样做了。这是我也尝试过的。
Workbooks.add Template:=xlOpenXMLWorkbook
我对每个模板都这样做了。这不是关于saving=我帖子的第一句不是关于saving=我帖子的第一句你一直坚持这与saving无关。但是,只有当你愿意存钱的时候,你才需要这个,而这正是令人费解的。很高兴你能成功地解决这个问题你一直坚持这与储蓄无关。但是,只有当你愿意存钱的时候,你才需要这个,而这正是令人费解的。很高兴您能够成功地解决此问题