VBA SaveAs方法

在浏览论坛一个多小时后,我似乎无法弄清楚为什么我的另存为代码不起作用。

我的目标是在不同的文件types下保存工作簿的新副本。 (当前的文件types是.csv。)我不是试图保存在一个新的或不同的位置,当前的目录是我想要保存的位置。

我已经尝试了以下代码的更多变体,所以我只会发布我的当前语法:

CurrentDir = CurDir()

dateVal = Date

ActiveWorkbook.SaveAs Filename:="" & CurrentDir & "ALS Week of " & dateVal - 4 & ".xlsx", FileFormat:=51

我已经看过如何打开一个对话框的例子,其中用户input的信息,以保存。 但是我希望能够放手。 如果有人可以看到我的错误在哪里,请让我知道!

编辑:我得到的错误是"Method 'SaveAs' of object '_Workbook' failed

你的date有非法的字符 。 用破折号格式化date,而不是斜杠,这不会发生。

 The following reserved characters: < (less than) > (greater than) : (colon) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark) * (asterisk) 

你忘了反斜杠

 ActiveWorkbook.SaveAs Filename:= CurDir() & "\ALS Week of " & (Date - 4) & ".xlsx", FileFormat:=51