VBA SaveAs方法

时间:2013-06-13 22:32:53

标签: excel excel-vba save vba

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

我的目标是以不同的文件类型保存工作簿的新副本。 (当前文件类型为.csv。)我不是想在新的或不同的位置保存,当前目录是我希望它保存到的位置。

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

CurrentDir = CurDir()

dateVal = Date

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

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

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

2 个答案:

答案 0 :(得分:4)

您的约会日期为illegal characters。用破折号而不是斜杠格式化你的日期,这不会发生。

The following reserved characters:

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

答案 1 :(得分:1)

你忘记了反斜杠:

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