사용자가 매크로를 사용하도록 설정하는 일부 vba 코드 온라인이 나타났습니다. 매크로가 꺼져있을 때 "Sheet1"만 표시되며 켜져 있으면 "Sheet1"이 숨겨지고 작업 시트 숨김이 해제됩니다. 이것은 매우 독창적 인 코드이지만 한 가지 단점이 있습니다. 파일을 닫을 때 파일을 저장할지 묻지 않습니다. 나머지 시트를 숨기도록 자동으로 저장됩니다. 나는이 문제를 해결할 방법이 있는지 알고 싶습니다. 즉, "저장하지 않고 저장/저장"프롬프트를 활성화하고 "Sheet1"을 제외하고 시트를 숨긴 채로 유지하는 것입니다.통합 문서를 닫기 전에 저장 확인
아래 코드는 다음과 같습니다.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Step 1: Declare your variables
Dim ws As Worksheet
'Step 2: Unhide the Starting Sheet
Sheets("Sheet1").Visible = xlSheetVisible
'Step 3: Start looping through all worksheets
For Each ws In ThisWorkbook.Worksheets
'Step 4: Check each worksheet name
If ws.Name <> "Sheet1" Then
'Step 5: Hide the sheet
ws.Visible = xlVeryHidden
End If
'Step 6: Loop to next worksheet
Next ws
'Step 7: Save the workbook
ActiveWorkbook.Save
End Sub
Private Sub Workbook_Open()
'Step 1: Declare your variables
Dim ws As Worksheet
'Step 2: Start looping through all worksheets
For Each ws In ThisWorkbook.Worksheets
'Step 3: Unhide All Worksheets
ws.Visible = xlSheetVisible
'Step 4: Loop to next worksheet
Next ws
'Step 5: Hide the Start Sheet
Sheets("Sheet1").Visible = xlVeryHidden
End Sub
그냥 매크로를 사용하는 사용자를 강제 할 수있는 방법에 대해 언급이 대부분의 일반 사용자를 위해 일하는 것이 있지만, 그것은 매우 쉽게 사용자가 나머지 시트를 숨길 수 있도록하기 위해 f 의도는 단순히 유용성을 개선 한 다음 좋지만 그렇지 않으면 보안/복사 방지 조치로서 많은 것을 남겨 둘 수 있습니다. – hnk
이 코드에 대한 어떠한 내용도 사용자가 매크로를 활성화하도록 강요하지 않으며, 통합 문서 수준 이벤트 (표준 모듈의 일반 프로 시저가 팝업 대신 메뉴 모음에 경고 함)로 인해 매크로를 활성화하라는 메시지 만 표시합니다. 프롬프트에서 매크로를 비활성화 상태로 유지할 수 있습니다. 이에 따라이 게시물의 제목을 개정하고 있습니다. –
n/m, 다른 누군가가 이미 질문 제목을 수정 한 것 같습니다 : –