Excel vba - 将启用宏的文件保存为带有图表

时间:2018-04-05 08:23:20

标签: excel-vba vba excel

我有一个启用宏的文件,可以根据某些计算创建图表。 我想使用vba在点击时保存此文件并将其存档以备将来使用。我当前的代码抛出了一个

  

运行时错误' 1004':指定的维度对当前图表类型无效。

我的代码是否有修复,或者我必须找到不同的方法来执行此操作?

Public Sub Archive()
    Dim savePath As String
    savePath = ActiveWorkbook.Sheets(1).Range("A220").Text

    Dim saveDir

    saveDir = "\\Fileserver\common\departments\Unit C\Administrative\KPI\Overtimes\" & Format(Date, "yyyy") & "-Overtime hours\" & Format(Date, "mm") & ". " & Format(Date, "mmmm") & "\"
        If Dir(saveDir, vbDirectory) = "" Then
            Shell ("cmd /c mkdir """ & saveDir & """")
            Application.Wait (Now + TimeValue("0:00:05"))
        End If

    Worksheets(Array("Tracker", "Data")).Copy
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs filename:=savePath, FileFormat:=xlWorkbookDefault '**<<<This one fails even if I remove the chart from the spreadsheet**
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
End Sub
  

以下编辑(错误截图附件)

enter image description here

  

     

我有&#34; .xlxm&#34;在savePath字符串的末尾。当我删除它   为我工作。

     

不确定原因,可能是因为我已经指定了文件格式   作为SaveAs函数的参数。

     

感谢所有试图提供帮助的人。

1 个答案:

答案 0 :(得分:0)

将此选项添加为仅在搜索中显示为已解决的答案。此外,它可能会帮助其他有类似问题的人。

我只从文件名字符串中删除了文件名(&#34; .xlxm&#34;)中的扩展名。