1

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

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

我尝试了以下代码的变体,比我记得的要多,所以我将发布我当前的语法:

CurrentDir = CurDir()

dateVal = Date

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

我查看了如何打开用户输入信息以保存的对话框的示例。但我希望采取一种不干涉的方法。如果有人能看到我的错误在哪里,请告诉我!

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

4

2 回答 2

5

您的日期中有非法字符。用破折号而不是斜线格式化您的日期,这不会发生。

The following reserved characters:

    < (less than)
    > (greater than)
    : (colon)
    " (double quote)
    / (forward slash)
    \ (backslash)
    | (vertical bar or pipe)
    ? (question mark)
    * (asterisk)
于 2013-06-13T23:16:52.947 回答
1

您忘记了反斜杠:

ActiveWorkbook.SaveAs Filename:= CurDir() & "\ALS Week of " & (Date - 4) & ".xlsx", FileFormat:=51
于 2013-06-13T22:35:26.157 回答