나는 한 곳에서 문서를 열고, 복사 및 편집 한 다음, 이전 문서로 돌아가서 매크로를 계속 사용해야하는 매크로 작업을하고 있습니다. 사용자가 문서를 선택할 수 있도록 실행하는 fileDialog가 있지만 문제는이 다음 문서를 활성화하여 ScreenUpdating을 사용하여 화면을 깜박이는 것입니다. Workbooks.Open 대신 사용할 수있는 새로운 문서가 활성화되지 않습니까? Workbooks.Open의 설정 활성화하지 못하도록 변경할 수 있습니까? 문서가 활성화 될 때 화면이 깜박 거리지 않게하는 방법은 무엇입니까? 다음은 fileDialog 코드와 각면의 몇 줄을 나타낸 것입니다.활성화하지 않고 매크로에서 문서를 여는 방법
Set fileDialog = Application.fileDialog(msoFileDialogFilePicker)
Application.ScreenUpdating = False
With fileDialog
.InitialFileName = "C:\Users\User\Documents"
.AllowMultiSelect = False
.Filters.Clear
.Title = dialogTitle
If .Show = False Then
Application.ScreenUpdating = True
MsgBox "No file chosen. Click Import Contact List to try again."
Exit Sub
End If
strPathFile = .SelectedItems(1)
End With
Set wbSource = Workbooks.Open(Filename:=strPathFile)
모든 솔루션에 크게 감사하겠습니다.
대상 문서에 매크로가 있습니까? 그렇다면 Application.EnableEvents = False/True (ScreenUpdating처럼)를 사용하면 도움이 될 수 있습니다. 나는 구체적으로 대상 문서에서 Workbook_Open에 대해 생각하고 있습니다. 또한 응용 프로그램 수준의 이벤트를 수신하는 경우 자체 통합 문서가 가로 챌 수있는 내용이기도합니다. – Excelosaurus
문서에 매크로가 없으므로 Workbooks.Activate가 Application.ScreenUpdating = False를 무시하는 것처럼 보입니다. 난 그냥 그것을 밖으로 테스트 할 수있는 샘플을 만들어 :. '서브 뉴스() Application.ScreenUpdating 사용 = 거짓 통합 문서 ("Hours.xlsx")를 통합 문서 ("Book1.xlsm")를 활성화 Application.ScreenUpdating 사용을 활성화합니다. = True End Sub' Book1.xlsm은 방금 만든 문서이고 "Hours.xlsx"는 방정식이나 매크로 또는 기타없이 시간을 기록해야하는 문서입니다. 그러나 그것으로도 화면이 깜박입니다. –
코드에 Activate가 없습니다 ... 샘플을 생성 했으므로'ScreenUpdating = False'로 깜박임을 얻을 수 없습니다. – Excelosaurus