Excel VBA如何为单独的用户自动保存

时间:2018-11-15 07:19:39

标签: excel vba excel-vba

我们有3个不同的用户在工作,可以使用保管箱更新一个excel文档。当这些用户中的任何一个单击“保存”时,我希望将文档保存在共享的保管箱文件夹中。但是,每个用户在其计算机上都具有与该保管箱文件夹不同的目录。

到目前为止,这是我的代码,它只是尝试将副本保存在user1的目录中-如果遇到1004错误,它将尝试user2的目录等。

这似乎可行,但是我仍然在最后得到msgbox。如何打破这些If语句,使其在保存副本后就停止了?

Sub Auto_Save()
Option Explicit

    Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    Dim backupfolder As String

    On Error Resume Next

    user1 = "C:\Users\user1.si\Dropbox\Hub\"
    user2 = "C:\Users\user2\Dropbox\Hub Admin Folder\"
    user3 = "C:\Users\user3.si\Dropbox\Hub\"

    ThisWorkbook.SaveCopyAs Filename:=user1 & ThisWorkbook.Name

    If Err.Number = 1004 Then
        ThisWorkbook.SaveCopyAs Filename:=user2 & ThisWorkbook.Name
        If Err.Number = 1004 Then
            ThisWorkbook.SaveCopyAs Filename:=user3 & ThisWorkbook.Name
            If Err.Number = 1004 Then
                MsgBox "Could not save copy to your directory."
            End If
        End If
    End If
End Sub

0 个答案:

没有答案