2016-09-14 2 views
0

엑셀 파일 경로 목록을 반복하는 매크로가 있습니다. 매크로는 각 경로를 읽고 통합 문서를 열고 각 통합 문서에서 다양한 데이터를 복사/가져온 다음 데이터를 중앙 통합 문서에 붙여 넣습니다. 루프를 통해 약 2,000 개의 파일 경로가 필요합니다. 보시다시피 꽤 간단한 매크로입니다. 그것은 잘 실행됩니다.엑셀 파일을 열면 VBA가 멈 춥니 다.

그러나 잠시 후 (처음 70 개 정도의 파일 경로를 거친 후) excel은 계속 파일을 열 때 "다운로드 중"메시지 상자를 보여줍니다. msg 상자에서 취소를 누르면 통합 문서가 열리고 매크로는 정상적으로 계속됩니다. 그러나 이러한 "다운로드 중"메시지 상자가 계속 나타나면 여기 앉아서 더 많은 파일 경로 1000 개를위한 매크로를보아야합니다. 아무도 왜 여기에 갇히는 지 아십니까? 그리고 그 주위에 방법이 있습니까?

이 매달려있는 메시지 상자가 모든 Workbooks.Open 인스턴스에서 발생하지 않는다는 것조차 더 이상하지 않습니다. 여기

내가 사용하고있는 코드의 예입니다 : 코멘트에 대한

With ThisWorkbook.Sheets("Filepaths") 
     For i = firstrow To lastrow 
       SourceFile = .Cells(i, 1).Value 
       Workbooks.Open SourceFile, ReadOnly:=True 
       Set MyFile = Workbooks(Workbooks.Count) 
       ..more code.......... 
       ..more code.......... 
       ..more code.......... 
       MyFile.close 
     Next i 
End With 

감사합니다, 이들은 모두 좋은 포인트는 (그리고 내가 과거에 시도 믿고 두 솔루션이다). 하지만 그냥이 내 Workbooks.Open 라인을 수정 한 확인하기 :

Application.DisplayAlerts = False 
Workbooks.Open SourceFile, ReadOnly:=True, UpdateLinks:=False 
Application.DisplayAlerts = True 

하지만 문제가 계속 팝업됩니다 ...

어떤 이상한 것은 내가 선으로 라인을 통해 단계 때 .. . "Application.DisplayAlerts = False"줄을 지나면 "Application.DisplayAlerts"변수 위로 마우스를 가져 가면 여전히 true가 표시됩니다.

+1

을보십시오. –

+0

'Application.DisplayAlerts = False'가 아니 었습니까? – Tyeler

+2

일부 통합 문서의 잘못된 외부 링크 일 수 있습니까? –

답변

0

공유 드라이브에서 파일을 여는 것과 같아서 "Download"메시지 상자가 표시됩니다. 이것은 때때로 발생합니다.

Application.DisplayAlerts = False이 도움이되지 않습니다. ReadOnly:=True, UpdateLinks:=False도 도움이되지 않습니다.

은 (당신이 그것을에있는 동안과`ScreenUpdating`) 어쩌면 도움이 될`Application.DisplayAlerts`을 해제 코드 (안된)

With ThisWorkbook.Sheets("Filepaths") 
    For i = firstrow To lastrow 
     SourceFile = .Cells(i, 1).Value 

     '~~> Check for network path and use sendkeys 
     '~~> to close the downloading window 
     If InStr(1, SourceFile, "\\") Then _ 
     Application.SendKeys "~", True 

     Workbooks.Open SourceFile, ReadOnly:=True 

     Set MyFile = Workbooks(Workbooks.Count) 
     '..more code.......... 
     '..more code.......... 
     '..more code.......... 
     MyFile.Close 
    Next i 
End With 
+0

예, 공유 드라이브에서 온 것입니다. 그러나 모든 경로는 모든 사용자 PC에서 드라이브 (O : \ 드라이브)로 매핑됩니다.이미 SendKeys 코드로 놀고 있었지만 (완전히 이해하고 있다고 말할 수는 없습니다). 어쨌든. 내가 놀고 있었던 SendKeys 코드가 더 잘 작동하는 것 같습니다. 하지만 가끔씩 "다운로드 중"msg 박스가 멈추는 것처럼 보입니다. 그러나 단지 자주 ... – ActuaryGuy

+0

는''\\ "'을''O : \"' –

+0

로 바꿔 줘서 고마워요. 이것은 이상한 일들을 일으키고 있습니다. 때때로 매크로를 중단하고 Workbooks.Open 줄에 디버그 창을 열거 나 매크로에 application.sendkeys 줄 뒤에 또는 workbooks.open 줄 뒤에 빈 줄을 추가로 삽입하는 것과 같습니다. – ActuaryGuy

관련 문제