2013-05-13 2 views
0

제목이 약간 모호합니다.하지만 다음을 시도하고 있습니다. 파일 이름 열이 있는데 vba를 사용하여 모두 열려고합니다. 나는 그것이 내가 아래에있는 것과 같을 것이라고 추측하고있다. 그러나 나는 무엇인가 놓치고있다. 파일 수는 변경 될 수 있으므로 명확한 범위를 사용할 수 없습니다.셀에 저장된 값이있는 파일 열기

For each cl in workbookC.worksheets("sheet1").range("A"). If cl.value <> "" then. Open (filename="cl.value"). End if. Next cl 
+0

열려는 파일이 엑셀 파일입니까? 정말로 모두 열어 보시겠습니까? 아니면 열어보고, 무엇인가하고, 닫고 싶습니까? –

+0

@ mr.Reband 예 그들은 파일을 능가합니다. 이상적으로는 한 번에 두 개를 열어 닫는 것이 좋지만 파일에 다른 파일에 대한 링크가 있음을 알리는 메시지가 나타날 때마다 매크로가 멈추기를 원하지 않습니다. 모든 파일을 한 번에 –

+0

경고를 표시하지 않으려면이 문서를 참조하십시오. http://stackoverflow.com/questions/14908372/how-to-suppress-update-links-warning –

답변

1

아래 코드는 작동합니다. 주목할 점은 셀이 공백이 아니라 파일을 열려고 시도하기 전에 FileSystemObject를 사용하여 파일이 존재하는지 확인하는 것입니다.

Dim sourceWorksheet 
Set sourceWorksheet = workbookC.Worksheets("sheet1") 

Dim row 
For row = 1 To 10  'rows containing filenames 
    If sourceWorksheet.Cells(row, 1).Value <> "" Then 
     Dim xlwb 
     Set xlwb = Workbooks.Open(sourceWorksheet.Cells(row, 1).Value) 
      'do stuff 
     xlwb.Close 
    End If 
Next 
+0

완벽하게 작동 해 주셔서 감사합니다. –

관련 문제