2016-11-01 1 views
0

Excel VBA에서 사용자가 ActiveX 단추를 클릭 할 수있는 매크로를 만들어야하는 코드를 작성했습니다. 그런 다음 지정된 위치에 저장됩니다. 이 새 파일을 만든 후에는 새 파일 (대체 지정된 위치에 성공적으로 저장)에 ActiveX 명령 단추가 없도록 코드를 만들고 싶습니다. 또한 버튼을 원본 파일에서 클릭하면 어떻게 든 마스터 파일을 닫고 새로 저장된 파일을 자동으로 열어 보려고했습니다. 누군가 도와 드릴 수 있습니까? 지금까지Excel VBA 코드 - 생성 된 특정 동작을 호출하는 방법

코드 :

첫째로 당신이 필요합니다 :

Sub CommandButton1_Click() 

    ActiveSheet.Copy 
    Dim SaveName As String 
    SaveName = ActiveSheet.Range("C1").Text 
    With ActiveWorkbook 
    .SaveAs "File path Specified" & _ 
    SaveName & ".xls" 
    .Close 0 
    End With 

End Sub 

답변

0

내 최초의 솔루션은 (당신이 정말로 무엇을해야하는지에 따라) 다음과 같은 것은

Me.SaveCopyAs "<full_Path>" 

참조 여기에 대한 자세한 내용 : https://msdn.microsoft.com/en-us/library/office/ff835014.aspx

이렇게하면 fi 사본이 생성됩니다. 파일 이름을 원하는 경로로 지정하십시오. 그렇게하기 전에 버튼을 숨긴 다음 버튼을 숨겨서 저장하려면 사본으로 저장을 사용할 수 있습니다.

마지막으로 원본을 닫고 복사본을 열려면 복사본에 다른 이름을 지정해야합니다. 그런 다음 새 파일을 열고 원본을 닫습니다.

코드는 다음과 유사합니다 :

Sub CommandButton1_Click() 
    ActiveSheet.Copy 
    Dim SaveName As String 
    SaveName = ActiveSheet.Range("C1").Text 
    With ActiveWorkbook 
     .Worksheets("<your_worksheet>").CommandButton1.visible = False 
     .SaveCopyAs "File path Specified" & SaveName & ".xls" 
    End With 
    Workbooks.Open ("File path Specified" & SaveName & ".xls") 
    Workbooks("<Original_name.xlsm>").close False 
End Sub 

또 다른 해결책은 다른 이름으로 저장으로 통합 문서를 저장할 수 있습니다. 그 전에 원생을 구하십시오. 버튼을 숨 깁니다. 그리고 saveas는 원본을 닫고 새로운 것을 자동으로 엽니 다.

Sub CommandButton1_Click() 
    ActiveSheet.Copy 
    Dim SaveName As String 
    SaveName = ActiveSheet.Range("C1").Text 
    With ActiveWorkbook 
     .Save 
     .Worksheets("<your_worksheet>").CommandButton1.visible = False 
     .SaveAs "File path Specified" & SaveName & ".xls" 
    End With 
End Sub 
+0

안녕 Blenikos :

코드는 그런 일을 보일 것입니다. 귀하의 답변에 감사드립니다. 이것을 사용할 때 .CommandButton1.Visible = False가있는 줄은 object가이 속성이나 메서드를 지원하지 않는다는 오류를 반환합니다. – Syed

+0

필자는 실수로 코드를 테스트 한 적이 없습니다. 나는 그것을 테스트하기 위해 귀하의 엑셀 파일이 필요합니다. 그러나, 나는 현재의 대답을 편집했고 이제는 효과가있다. 그럴 경우 알려 주시기 바랍니다. – Blenikos

+0

Blenikos 안녕하십니까 .Worksheets ("")에 파일 위치와 파일 이름을 써야합니까? 아니면 시트 이름일까요? – Syed

관련 문제