VBA에서 워크북을 열고 Workbook_Open() 코드를 비활성화하시겠습니까?
VBA를 사용하여 스프레드시트를 열고 있으며 워크북 중 몇 개에는 Workbook_Open()이 호출될 때 실행을 시작하는 코드가 포함되어 있습니다.
VBA를 사용하여 워크북을 열지만 코드가 자동으로 실행되는 것을 중지하려면 어떻게 해야 합니까?저는 시트의 공식을 보기 위해 워크북을 열 뿐입니다. 코드 실행은 원하지 않습니다.
VBA에서 워크북을 열기 전에 이벤트를 비활성화한 후 나머지 모듈에서 이벤트를 다시 활성화하시겠습니까?다음과 같은 방법을 사용해 보십시오.
Application.EnableEvents = False 'disable Events
workbooks.Open "WORKBOOKPATH" 'open workbook in question
Application.EnableEvents = True 'enable Events
왜 다른 답변에서 이것이 명확하게 언급되지 않았는지 모르겠지만, 저는 발견했습니다.Application.AutomationSecurity
정확히 필요한 일을 하기 위해서입니다.기본적으로
Application.AutomationSecurity = msoAutomationSecurityByUI
'This is the default behavior where each time it would ask me whether I want to enable or disable macros
Application.AutomationSecurity = msoAutomationSecurityForceDisable
'This would disable all macros in newly opened files
Application.AutomationSecurity = msoAutomationSecurityLow
'This would enable all macros in newly opened files
코드를 실행한 후에도 설정이 기본 동작으로 되돌아가지 않으므로 코드를 다시 변경해야 합니다.그러므로 이 질문에 대하여
previousSecurity = Application.AutomationSecurity
Application.AutomationSecurity = msoAutomationSecurityForceDisable
' Your code
Application.AutomationSecurity = previousSecurity
여기에 vba 없이 여는 다른 방법이 있습니다.
Start Excel Application > Go to File > Recent >
Shift 키를 누른 상태에서 두 번 클릭하여 -를 엽니다.
이렇게 하면 이벤트가 실행되고 매크로가 실행되지 않습니다.
또는 Shift 키를 누른 상태에서 두 번 클릭하여 워크북을 엽니다.
응용프로그램 작업용입니다.EnableEvents 속성(Excel)
응용프로그램의 조합입니다.이벤트 및 워크북 관련 응용 프로그램을 활성화합니다.EnableEvents는 잘 작동합니다.셀 복사와 같이 워크북이 다시 참조될 때마다 활성화 이벤트가 다시 트리거됩니다.워크북을 먼저 종료해야 하며 닫은 후에는 액세스할 수 없으므로 다음을 시도해 보십시오.
Dim wb as Workbook
Application.EnableEvents = False
Set wb = workbooks.Open "YOURWORKBOOKPATH"
Application.EnableEvents = True
wb.Application.EnableEvents = False
**Code**
wb.Application.EnableEvents = True
wb.Close
빈 Excel 매크로 파일을 열고 응용프로그램이 있는 매크로를 놓습니다.Events = False를 활성화한 다음 파일을 엽니다.그런 다음 Application을 수행합니다.EnableEvents = True.
Dim xlapp as New Excel.Application
Dim wb as Workbook
xlapp.EnableEvents = False
Set wb = xlapp.Workbooks.Open("My workbook name")
'Process the workbook
wb.Close savechanges := false
xlapp.Quit
set wb = nothing
언급URL : https://stackoverflow.com/questions/16301530/open-a-workbook-from-vba-and-disable-workbook-open-code
'source' 카테고리의 다른 글
오류 가져오기:herku에 배포할 때 postgresql-client-패키지를 하나 이상 설치해야 합니다. (0) | 2023.05.22 |
---|---|
WPF/C# 및 Qt/C++ 중에서 선택 (0) | 2023.05.22 |
기능 크기 조정을 그대로 유지하면서 WPF 창의 최대화 버튼 사용 안 함 (0) | 2023.05.22 |
Excel의 수식에서 셀 번호가 증가하지 않도록 방지 (0) | 2023.05.22 |
TestFlight에서 규정 준수 상태 (0) | 2023.05.22 |