use*_*860 2 excel vba excel-vba
我正在尝试使用硬线和单元格值的组合来保存文件以确定文件路径.
在单元格中A29,我有一个输出这个的公式:
2014\1月\高现金1.7.14
我得到了一个预期:声明结束错误.
代码是:
ActiveWorkbook.SaveAs Filename:="S:\IRD\Tamarac\Daily High Cash Reporting\& Range("A29").Text & ".xlsx", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False
Run Code Online (Sandbox Code Playgroud)
建议您更进一步,确保过滤掉任何无效的文件名字符,以防止出现保存错误
此代码删除
[] /:*"<>?
主要代码
Sub CleanSave()
Dim fileName As String
fileName = "C:\temp\" & strClean(Range("A29").Value) & ".xlsx"
ActiveWorkbook.SaveAs fileName:=fileName, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
Run Code Online (Sandbox Code Playgroud)
清洁功能
Function strClean(strIn As String) As String
Dim objRegex As Object
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
.Pattern = "[\[\]|\/\\:\*\?""<>]"
.Global = True
strClean = .Replace(strIn, vbNullString)
End With
End Function
Run Code Online (Sandbox Code Playgroud)