Note: The other languages of the website are Google-translated. Back to English

일정 시간 동안 사용하지 않으면 통합 문서를 저장하고 닫는 방법은 무엇입니까?

때로는 다른 업무로 장시간 바쁠 때 실수로 통합 문서를 닫아 통합 문서의 중요한 데이터를 잃을 수 있습니다. 일정 시간 동안 통합 문서를 비활성화 한 경우 통합 문서를 자동으로 저장하고 닫는 방법이 있습니까?

VBA를 사용하여 일정 시간 동안 사용하지 않으면 통합 문서 자동 저장 및 닫기

화살표 블루 오른쪽 거품 VBA를 사용하여 일정 시간 동안 사용하지 않으면 통합 문서 자동 저장 및 닫기

이 문제를 해결하기 위해 Excel에 내장 된 기능은 없지만 특정 시간 동안 작업이 없으면 통합 문서를 저장하고 닫을 수있는 매크로 코드를 소개 할 수 있습니다.

1. 특정 초 동안 사용하지 않으면 자동으로 저장하고 닫을 통합 문서를 활성화하고 Alt + F11 여는 열쇠 응용 프로그램 용 Microsoft Visual Basic 창.

2. 클릭 끼워 넣다 > 모듈 만드는 방법 모듈 스크립트를 작성하고 코드 아래에 붙여 넣으십시오. 스크린 샷보기 :

Dim CloseTime As Date
Sub TimeSetting()
    CloseTime = Now + TimeValue("00:00:15")
    On Error Resume Next
    Application.OnTime EarliestTime:=CloseTime, _
      Procedure:="SavedAndClose", Schedule:=True
End Sub
Sub TimeStop()
    On Error Resume Next
    Application.OnTime EarliestTime:=CloseTime, _
      Procedure:="SavedAndClose", Schedule:=False
 End Sub
Sub SavedAndClose()
    ActiveWorkbook.Close Savechanges:=True
End Sub

 

비활성 후 문서 닫기 통합 문서 저장 1

3. 그런 다음 프로젝트 탐색기 창, 두 번 클릭 이 워크 북, 옆 스크립트에 코드 아래를 붙여 넣습니다. 스크린 샷보기 :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call TimeStop
End Sub

Private Sub Workbook_Open()
    Call TimeSetting
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
   Call TimeStop
   Call TimeSetting
End Sub

 

비활성 후 문서 닫기 통합 문서 저장 2

4. 2 단계에서 삽입 한 모듈을 두 번 클릭하고 F5 코드를 실행하는 키입니다. 스크린 샷보기 :
비활성 후 문서 닫기 통합 문서 저장 3

5. 그런 다음 15 초 후에 통합 문서 저장을 알리는 대화 상자가 나타납니다. 가능 통합 문서를 저장하고 닫습니다.
비활성 후 문서 닫기 통합 문서 저장 4

팁 :

(1) 첫 번째 코드에서 다음 문자열의 비활성 시간을 다른 것으로 변경할 수 있습니다. Now + TimeValue ( "00:00:15")

(2) 이전에 통합 문서를 저장 한 적이 없다면 다른 이름으로 저장 대화 상자가 먼저 나오고 저장을 요청합니다.
비활성 후 문서 닫기 통합 문서 저장 5


좋은 워크 시트 보호

Excel 용 Kutools 워크 시트 보호 기능은 여러 시트 또는 전체 통합 문서를 한 번에 빠르게 보호 할 수 있습니다.
문서는 여러 워크 시트를 보호

최고의 사무 생산성 도구

Excel용 Kutools는 대부분의 문제를 해결하고 생산성을 80% 증가시킵니다.

  • 재사용: 빠르게 삽입 복잡한 공식, 차트 그리고 이전에 사용한 모든 것; 셀 암호화 암호로; 메일 링리스트 생성 이메일 보내기 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집 할 수 있습니다.) 레이아웃 읽기 (많은 수의 셀을 쉽게 읽고 편집합니다.) 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 셀 내용 분할; 중복 행 / 열 결합... 중복 셀 방지; 범위 비교...
  • 중복 또는 고유 선택 행; 빈 행 선택 (모든 셀이 비어 있음); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 무작위 선택 ...
  • 정확한 사본 수식 참조를 변경하지 않고 여러 셀; 참조 자동 생성 여러 시트에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 부분합을 만들고 인쇄합니다. 셀 내용과 주석 간 변환...
  • 슈퍼 필터 (다른 시트에 필터 구성표 저장 및 적용) 고급 정렬 월 / 주 / 일, 빈도 등 특수 필터 굵은 기울임 꼴로 ...
  • 통합 문서와 워크 시트 결합; 키 열을 기반으로 테이블 병합; 데이터를 여러 시트로 분할; xls, xlsx 및 PDF 일괄 변환...
  • 300개 이상의 강력한 기능. Office / Excel 2007-2021 및 365를 지원합니다. 모든 언어를 지원합니다. 기업 또는 조직에서 쉽게 배포할 수 있습니다. 전체 기능은 30일 무료 평가판입니다. 60일 환불 보장.
kte 탭 201905

Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
코멘트 (11)
아직 평가가 없습니다. 가장 먼저 평가하세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
위의 코드는 셀이 활성 상태일 때 작동하지 않습니다. 그건

1. 셀에 값을 입력합니다(Enter 또는 Tab 키를 누르지 않음).

2. 엑셀을 최소화하라.

이 경우 코드가 작동하지 않습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
마감 시간에 도달한 시점에 별도의 통합 문서에서 작업하는 경우 비활성 통합 문서가 아닌 해당 통합 문서가 닫힙니다. 이것은 코드를 다음과 같이 조정하여 해결할 수 있습니다.

CloseTime을 날짜로 흐리게 처리
문자열로 희미한 WKB
서브 타임 설정()
WKB = ActiveWorkbook.이름
CloseTime = Now + TimeValue("00:00:15")
오류에 대한 다음 재개
Application.OnTime EarliestTime:=닫기 시간, _
절차:="SavedAndClose", 일정:=참
최종 하위
서브 타임스톱()
오류에 대한 다음 재개
Application.OnTime EarliestTime:=닫기 시간, _
절차:="SavedAndClose", 일정:=거짓
최종 하위
하위 SavedAndClose()
통합 문서(WKB).Close Savechanges:=True
최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
나는 같은 것을 알아차렸다. 그리고 동일한 솔루션을 찾았습니다 :-)
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이 코드가 내장된 통합 문서를 열 때 "실행 시간 오류"가 발생하는 경우가 있습니다. 어쨌든 이 코드를 더 안정적으로 작성하려면?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
훌륭한 감사
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 이 코드를 만료 코드와 같은 다른 코드에 삽입하고 싶습니다. 어떻게 해야 하나요?
코드는 ... 다음
개인 서브 Workbook_Open ()

날짜로 희미한 exdate
Dim i As 정수

'여기서 만료일 값을 수정하세요!!!
anul = 2019 '년
루나 = 5'월
ziua = 16 '일

exdate = DateSerial(anul, luna, ziua)

날짜 > 연장한 경우
MsgBox("응용 프로그램 " & ThisWorkbook.Name & "이(가) 만료되었습니다!" & vbNewLine & vbNewLine _
& "만료 설정 날짜: " & exdate & " :)" & vbNewLine & vbNewLine _
& "버전을 갱신하려면 관리자에게 문의하십시오!"), vbCritical, ThisWorkbook.Name

만료된_파일 = ThisWorkbook.Path & "\" & ThisWorkbook.Name

오류 시 GoTo ErrorHandler
통합 문서 포함(ThisWorkbook.Name)
If .Path <> "" 그러면

.저장됨 = 참
.ChangeFileAccess xlReadOnly

만료된 파일 종료

'추가 기능인 경우 추가 기능의 이름을 가져오고 추가 기능을 제거합니다.
Application.Version >= 12인 경우
I = 5
기타: 나는 = 4
END IF

Right(ThisWorkbook.Name, i) = ".xlam" 또는 Right(ThisWorkbook.Name, i) = ".xla"이면
wbName = 왼쪽(ThisWorkbook.Name, Len(ThisWorkbook.Name) - i)
'추가 기능이 설치되어 있으면 제거
AddIns(wbName).Installed이면
AddIns(wbName).설치됨 = False
END IF
END IF

.닫기

END IF


서브 종료

END IF

'MsgBox("당신은 " & exdate - 날짜 & "남은 일수")
서브 종료

ErrorHandler :
MsgBox "파일 삭제 실패.."
서브 종료

최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
마감 시간에 도달한 시점에서 별도의 통합 문서에서 작업하는 경우 비활성 통합 문서가 아닌 해당 통합 문서가 닫힙니다. 이것은 코드를 다음과 같이 조정하여 해결할 수 있습니다. - 아래 주석에서 수정 및 테스트 - 이 코드를 사용:

"이 통합 문서"에 입력

비공개 하위 통합 문서_BeforeClose(부울로 취소)
타임스톱에 전화
최종 하위
개인 서브 Workbook_Open ()
통화시간설정
최종 하위
Private Sub Workbook_SheetChange(ByVal Sh를 개체로, ByVal 대상을 범위로)
타임스톱에 전화
통화시간설정
최종 하위


"모듈"에 입력:

CloseTime을 날짜로 흐리게 처리
서브 타임 설정()
CloseTime = Now + TimeValue("00:10:00")
오류에 대한 다음 재개
Application.OnTime EarliestTime:=닫기 시간, _
절차:="SavedAndClose", 일정:=참
최종 하위
서브 타임스톱()
오류에 대한 다음 재개
Application.OnTime EarliestTime:=닫기 시간, _
절차:="SavedAndClose", 일정:=거짓
최종 하위
하위 SavedAndClose()
ThisWorkbook.Close Savechanges:=True
최종 하위


CloseTime = Now + TimeValue("00:10:00")를 변경하여 시간 설정을 변경할 수 있습니다. 이것은 10분으로 설정되고("00:10:00") 원하는 시간으로 변경하면 작동합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
무슨 일이 일어 났는지 확실하지 않지만이 솔루션은 더 이상 작동하지 않습니다. 나를 위해 일한이 솔루션에 대한 수정 사항은 다음과 같습니다.

````
희미한 resetCount As Long

공개 하위 통합 문서_Open()
오류에 대한 다음 재개
xWB 설정 = ThisWorkbook
재설정 횟수 = 0
최종 하위

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) On Error Resume Next
다시 쓰기
최종 하위

Sub Reset() On Error Resume Next
정적 xCloseTime
resetCount <> 0이면
ThisWorkbook.Application.OnTime xCloseTime, "SaveWork1", 일정:=거짓
리셋카운트 = 리셋카운트 + 1
xCloseTime = DateAdd("n", 15, 지금)
ThisWorkbook.Application.OnTime xCloseTime, "SaveWork1", 일정:=True

다른
리셋카운트 = 리셋카운트 + 1
xCloseTime = DateAdd("n", 15, 지금)
ThisWorkbook.Application.OnTime xCloseTime, "SaveWork1", 일정:=True
END IF
최종 하위
````
이것은 동일한 SaveWork1 As를 사용하고 있습니다:
````하위 SaveWork1()
Application.DisplayAlerts = False
이워크북.저장
이워크북.닫기

Application.DisplayAlerts = 참
최종 하위

````
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것은 훌륭합니다. 사용자에게 시트가 닫힐 것임을 경고하고 타이머를 재설정할 수 있는 옵션을 제공하는 팝업 메시지 상자를 추가하는 방법에 대한 팁이 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
편집하고 싶지 않고 상담만 하고 싶은데 파일이 계속 닫힙니다. 닫히면 안됩니다. 셀을 선택하면 계산을 다시 시작해야 합니다. 해결 방법이 무엇입니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
편집하고 싶지 않고 상담만 하고 싶은데 파일이 계속 닫힙니다. 닫히면 안됩니다. 셀을 선택하면 계산을 다시 시작해야 합니다. 해결 방법이 무엇입니까?
아직 코멘트가 없습니다
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

저작권 © 2009 - WWW.extendoffice.com. | 판권 소유. 에 의해 구동 ExtendOffice. | | 사이트 맵
Microsoft 및 Office 로고는 미국 및 / 또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
Sectigo SSL로 보호