2017-10-18 1 views
0

프로젝트의 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.

그러나 두 가지 질문이 마음에 와서 :

  1. 이는 "보안"인가? 이벤트를 사용하지 않도록 설정 한 경우에도 사용자가 내 활성 응용 프로그램에서 실행되는 자체 매크로를 작성할 수있는 다른 방법이 있습니까?

  2. 이벤트를 완전히 비활성화하는 것 외에 다른 해결 방법이 있습니까? 이것은 다소 제한적이고 거의 "목욕탕에 아기를 던지고있는 것 같습니다."

+0

워크 시트에서 데이터를 가져 오기 위해 SQL을 사용하십시오. – jsotola

답변

1

이것은 매크로없이 파일을 여는 것으로 보이며 읽기 전용입니다. 이것을 테스트 할 때 열려있는 파일의 VBA 편집기에서 매크로 모듈을 볼 수 없습니다.

관련 문제