簡體   English   中英

如果“另存為”位置已打開,則會出現1004錯誤

[英]If SaveAs location is already open, I get 1004 Error

一些VBA SaveAs代碼遇到了一些最終用戶問題。

下面的代碼為當前工作簿執行一個SaveAs ,允許用戶選擇名稱,關閉新保存的文件並重新打開原始文件。 這是針對服務器上許多用戶的Excel工作簿的,其中許多人將不斷打開/關閉文件。

問題是,當用戶嘗試執行以下代碼以保存另一個用戶已打開的文件時,程序將顯示運行時錯誤“ 1004”:您無法使用與另一個打開的工作簿同名的名稱保存此工作簿或添加-in。等

有誰知道如何檢查SaveAs目標是否已經打開,然后顯示MsgBox “文件已由其他用戶打開。請等待,直到他們關閉或選擇其他文件名。”

任何幫助將不勝感激,無法弄清楚這一點!

Sub ExportTrip()
Dim ActSheet As Worksheet
Dim ActBook As Workbook
Dim CurrentFile As String
Dim NewFile As String

Application.ScreenUpdating = False    ' Prevents screen refreshing.

CurrentFile = ThisWorkbook.FullName   ' saves filename of current workbook

NewFile = Application.GetSaveAsFilename( _
    InitialFileName:=Sheets("Master").Range("B5"), _
    FileFilter:="ARMS Export *.xlsm (*.xlsm),")   ' gets filename for exported workbook

   If NewFile <> "" And NewFile <> "False" Then         'if user doesn't pick name
    ActiveWorkbook.SaveAs Filename:=NewFile, _
        FileFormat:=52, _
        Password:="", _
        WriteResPassword:="", _
        ReadOnlyRecommended:=False, _
        CreateBackup:=False

    Set ActBook = ActiveWorkbook 'declares variable for open workbook
    Workbooks.Open CurrentFile   'reopens original workbook
Application.DisplayAlerts = False
    ActBook.Close                'closes exported workbook
Application.DisplayAlerts = True
End If

Application.ScreenUpdating = True
End Sub

試試這個

從這里開始您的錯誤信息

'// Here msgbox
On Error GoTo ErrMsg
    ActiveWorkbook.SaveAs FileName:=NewFile, _
        FileFormat:=52, _
        Password:="", _
        WriteResPassword:="", _
        ReadOnlyRecommended:=False, _
        CreateBackup:=False
    Set ActBook = ActiveWorkbook 'declares variable for open workbook
    Workbooks.Open CurrentFile   'reopens original workbook
Application.DisplayAlerts = False
    ActBook.Close                'closes exported workbook
Application.DisplayAlerts = True
End If
Application.ScreenUpdating = True

並確保ErrMsg:在End Sub之前

'// Here Err MsgBox
ErrMsg:
MsgBox ("Type your message here."), , "MESSAGE TITLE"

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM