使用来自单元格的路径来保存Excel文件的VBA宏

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)

bre*_*tdj 5

建议您更进一步,确保过滤掉任何无效的文件名字符,以防止出现保存错误

此代码删除

[] /:*"<>?

主要代码

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)

  • 我使用不同的清洁功能,但这也进入我的数据库:) (2认同)