以下代码运行完美。 对于内部报告跟踪目的,我已经附加了" [1944]"到文件名的前面。 它现在正在回击"运行时错误' 1004'"在我身边。
错误1004清单
上一部分引用不使用以下字符 < > ? []:|或者*
但是如果我转到文件夹位置我可以使用[]重命名它没问题。 我甚至可以用这个标题文件并使用VBA启动它 那么为什么我不能用它保存文件。
有人为我找到了解决方法吗?
非常感谢!
ActiveWorkbook.SaveAs Filename:= _
strfilepath & "[1944] TSA34_MI_" & strdt & ".xlsb" _
, FileFormat:=xlExcel12, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
答案 0 :(得分:3)
我能想到的唯一解决方法是在文件关闭后重命名。
要执行此操作,您可以使用Name
语句。请参阅MSDN documentation。
Name "C:\Users\lturner\Documents\myWorkbook.xlsb" As "C:\Users\lturner\Documents\[1]myWorkbook.xlsb"
除此之外,我认为不可能在名称中使用方括号保存工作簿。
答案 1 :(得分:2)
方括号是Windows文件名的合法字符,但由Excel专门处理,因此也是VBA。
要了解原因,请打开两个工作簿并在第一个选择一个单元格并输入公式“= SUM(”,然后单击第二个工作簿中的单元格。您的公式现在看起来像这样“= SUM([Workbook2] ] Sheet1!A1)“。方括号用作工作簿名称分隔符。