프로젝트의 Excel에서 몇 가지 VBA 매크로를 사용하고 있습니다. 매크로를 통해 VBA 매크로를 열 때 VBA 매크로가 다른 Excel 통합 문서에서 실행되지 않도록 할 수 있습니까?다른 Excel 시트의 매크로 비활성화
Sheets("Sheet1").Select
PathName = Range("D3").Value
Filename = Range("D4").Value
TabName = Range("D5").Value
ControlFile = ActiveWorkbook.Name
Workbooks.Open Filename:=PathName &; Filename
내가 주로했던 것은 아니에요 수 있도록 서브 루틴에 Application.EnableEvents = False
을 포함 할 수 있습니다 : 예를 들어
,의 내가 다른 엑셀 파일을 열 수있는 하나의 통합 문서 내부에 매크로가 있다고 가정 해 보자 다른 통합 문서를 열 때 코드가 실행됩니다. 이것은 또한 이전에 제안 된 방법론입니다 SO post.
그러나 두 가지 질문이 마음에 와서 :
이는 "보안"인가? 이벤트를 사용하지 않도록 설정 한 경우에도 사용자가 내 활성 응용 프로그램에서 실행되는 자체 매크로를 작성할 수있는 다른 방법이 있습니까?
이벤트를 완전히 비활성화하는 것 외에 다른 해결 방법이 있습니까? 이것은 다소 제한적이고 거의 "목욕탕에 아기를 던지고있는 것 같습니다."
워크 시트에서 데이터를 가져 오기 위해 SQL을 사용하십시오. – jsotola