2016-06-21 15 views
1

元のブックを開いたままにしておき、再度開くことなく保存された(別の名前で保存された)すべてのファイルを閉じようとしています。私はボタンをクリックしてSaveAsをやっています。これに関する提案はありますか?私はあなたのコードを使用する必要がある場合SaveAsの間に元のブックを保持する方法

sub save() 
    Application.DisplayAlerts= False 
    FileName1 = Range("D4") 
    ActiveWorkbook.SaveCopyAs FileName:="C:\Users\felonj\Desktop\list\" & FileName1 & "-" & "Audit checklist" & ".xlsm" 
    MsgBox "File Saved successfully!", , "Save" 

    Application.DisplayAlerts = True 

End sub 

答えて

0

、このような何かを試してみてください。

Option Explicit 

Sub save() 

    Dim obj_wb As Object 

    Set obj_wb = ThisWorkbook 

    Application.DisplayAlerts = False 
    ActiveWorkbook.SaveCopyAs Filename:=ActiveWorkbook.Path & "Audit checklist" & ".xlsm" 
    MsgBox "File Saved successfully!", , "Save" 
    Debug.Print obj_wb.Name 
    Application.DisplayAlerts = True 

    Set obj_wb = Nothing 

End Sub 

obj_wbは、この変数を介してアクセス可能な古いファイルです。おそらく、 "ActiveWorkbook"の代わりに "ThisWorkbook"を使用することをお勧めします。あるいは、それを常に変数として参照し、それらをまったく使用しないようにすることができます。

+1

これは機能しました。ありがとうございました – Swathi

+0

私は助けることができてうれしいです。私の答えは、その隣にある緑のチェックをクリックすることで受け入れられるとマークすることができます。 – Vityata

関連する問題