根据单元格值将文件保存到文件夹

问题描述 投票:0回答:1

我有两个想要一起工作的替补。第一个用于创建新文件夹(如果尚不存在),第二个用于使用基于单元格值的文件名另存为。

我想要代码

  1. 创建文件夹(如果需要)
  2. 使用新文件名另存为(基于单元格值)
  3. 将新文件放入创建的文件夹中。

到目前为止,我的项目 1 和 2 都是独立工作的,但目前还无法将工作簿保存到创建的文件夹中。

Option Explicit
'----- declare the base path here -----
Const MYPATH As String = "I:\test\"

Sub CreateFolder()

Dim fldNamea As String
Dim fldNameb As String
    
    fldNamea = Range("BL5").Value
    fldNameb = Range("W4").Value

    'Create Directory
    If Len(Dir(MYPATH & "Audit " & fldNamea & " " & fldNameb, vbDirectory)) = 0 Then
        MkDir MYPATH & "Audit " & fldNamea & " " & fldNameb
    End If

End Sub

Sub wbNewFileName()
    
Dim fldNamea As String
Dim fldNameb As String
Dim fldPath As String
Dim wbName As String

    CreateFolder

    fldNamea = Range("BL5").Value 'Report Number
    fldNameb = Range("W4").Value 'Report Name
    fldPath = MYPATH & fldNamea & fldNameb & "\" 'Folder Path
    
    ' Save file to directory
    ActiveWorkbook.SaveAs _
    Filename:=fldPath & fldNamea & "Report - " & fldNameb & ".xlsm", _
    FileFormat:=52, _
    CreateBackup:=False

    MsgBox "Successfully Saved"

End Sub
excel vba
1个回答
0
投票

快速修复

wbNewFileName
可能是

Sub SaveWorkbookToFolder()
    Dim fldNamea As String
    Dim fldNameb As String
    Dim fldPath As String
    
    CreateFolder
    
    fldNamea = Range("BL5").Value ' Report Number
    fldNameb = Range("W4").Value ' Report Name
    ' added Audit to the Path
    fldPath = MYPATH & "Audit " & fldNamea & " " & fldNameb & "\" ' Folder Path
    
    ' Save file to directory
    ActiveWorkbook.SaveAs _
        Filename:=fldPath & fldNamea & "Report - " & fldNameb & ".xlsm", _
        FileFormat:=52, _
        CreateBackup:=False
    
    MsgBox "Successfully Saved"
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.