Excel이 워크시트_Change before Workbook_Before Save를 실행하지 않도록 하는 방법은 무엇입니까?
업데이트: 문제 해결됨 내 동료가 핸드폰을 바꾸고 있었어요Workbook_BeforeSave()이벤트를 비활성화하지 않음, 따라서 트리거링Worksheet_Change()그래, 바보야, 하지만 적어도 우리 잘못이지 엑셀의 잘못은 아니야.
엑셀에서 Ctrl+S를 누를 때마다Worksheet_Change()이전에 해고됨Workbook_BeforeSave()모든 이벤트를 억제하지 않고 VBA 코드를 사용하여 이 동작을 억제할 수 있습니까?Application.EnableEvents = false)?
제가 뭘 하든 상관없이 이런 일이 벌어집니다.콤보박스와 비슷한 문제가 있는 사람에 대해 읽었지만 콤보박스를 아직 편집하지 않았습니다.Worksheet_Change()저장하기 전에 항상 불이 납니다.
아이디어 있어요?안에 있는 코드를 우회하는 방법을 알아내려는 것뿐입니다.Worksheet_Change()문서가 저장될 때, 이 코드는 워크북이 저장될 때가 아니라 사용자가 실제로 무언가를 변경할 때만 실행되도록 되어 있기 때문입니다.저축은 결코 변하지 않습니다...
그것은 우리 쪽의 코딩 실수였습니다.
동료가 이벤트를 비활성화하지 않고 Workbook_BeforeSave() 중에 셀을 변경하여 Workbook_Change()를 트리거했습니다.
해결책은 쉬웠습니다.Workbook_BeforeSave()에서 다음을 수행합니다.
Application.EnableEvents = False
' Some final changes
Application.EnableEvents = True
그리고 그게 다였습니다 :)
글로벌 플래그 변수를 추가합니다.
키를 눌렀을 때 실행되는 기능을 입력하고 CTRL + S 플래그를 true로 설정합니다.
이 플래그가 참이면 workshot_change 이벤트가 단락되어야 합니다.
그리고 workbook_aftersave는 다시 false로 변경해야 합니다.
언급URL : https://stackoverflow.com/questions/8819394/how-to-stop-excel-from-firing-worksheet-change-before-workbook-beforesave
'programing' 카테고리의 다른 글
| Javascript date to sql date 객체 (0) | 2023.06.18 |
|---|---|
| 8080에서 수신 중인 Oracle XE 구성 요소를 비활성화하는 방법은 무엇입니까? (0) | 2023.06.18 |
| 그리기 가능한 것을 비트맵으로 변환하는 방법은? (0) | 2023.06.18 |
| Firestore에서 보안 및 인덱스 규칙을 내보내는 방법은 무엇입니까? (0) | 2023.06.18 |
| Visual Studio에서 새 데이터 항목을 추가할 때 EF 6.x DbContext Generator 옵션의 용도 (0) | 2023.06.18 |