2017-01-09 1 views
0

간단한 솔루션이 필요하지만 코더가 아니기를 바랍니다. 해결책이 무엇인지 잘 모릅니다.매크로를 통해 하나의 문서를 닫을 때 Word가 사라짐

MS Word에는 제출, ​​건너 뛰기 또는 삭제할 수있는 VBA 사용자 양식이 있습니다. 현재 문제는 '삭제'버튼입니다. 그 목적은 'ThisDocument.Close'를 사용하여 양식을 완전히 종료하여 검토를 위해 잘못 제출 된 사항이 없도록하는 것입니다. 그러나 사용자가이 단추를 클릭하여 userform을 포기할 때 열려있는 다른 모든 Word 문서를 숨길 것입니다. 작업 표시 줄에서 Word가 사라집니다. 문서가 닫히지 않으며, Word를 새로 열 때 뷰> 윈도우 전환으로 여전히 열리기 때문에 문서를 닫을 수 있습니다. 나는 또한 아무 소용에 End IfApplication.Visible = True를 사용하는 것을 시도했다

Private Sub CancelBtn_Click() 

Dim SureCancel As Integer 

SureCancel = MsgBox("Are you sure you want to abandon this sheet? _ 
Changes will not be saved!", vbYesNo) 

If SureCancel = vbYes Then 
    ThisDocument.Close wdDoNotSaveChanges 
End If 

End Sub 

:

다음은 내 코드입니다.

도움/아이디어를 크게 높이 평가합니다.

+1

양식이 열려있는 동안 양식이 포함 된 문서를 닫습니다. 문서를 닫기 전에 양식을 숨겨보십시오. –

+0

아이디어를 제공해 주셔서 감사합니다. 불행히도 그것은 작동하지 않았다. 그래도 주위에 방법을 찾았습니다 ... –

+0

문서를 닫기 전에'If' 안에'Application.Visible = True'를 넣었습니다. 이제 내가 할 일은 오직 뭔가 다른 것이있을 때만 그렇게하는 방법을 찾는 것입니다. 일단 내가 해결했으면 나는 이것을 대답으로 업데이트 할 것이다. –

답변

1

나는 내 코드에 몇 가지 사소한 추가를했고, 이제는 내가 원하는대로 정확하게 수행한다. 무엇 Word에서 열려 그 응용 프로그램이 다시 나타나지 않습니다 true 인 경우에만, 그렇지 않으면 종료 여부를

Private Sub CancelBtn_Click() 

Dim SureCancel As Integer 

SureCancel = MsgBox("Are you sure you want to abandon this sheet? _ 
Changes will not be saved!", vbYesNo) 

If SureCancel = vbYes Then 
     If Documents.Count > 1 Then 
      Application.Visible = True 
     End If 
    ThisDocument.Close wdDoNotSaveChanges 
End If 

End Sub 

If Documents.Count > 1 절을 확인합니다.