2013-05-13 38 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

可以肯定,你打開的文件是excel文件嗎?你真的想打開它們嗎?或者你想打開它們,做些什麼,然後關閉它們? – 2013-05-13 21:43:37

+0

@ mr.Reband是的,他們是優秀的文件;我最好喜歡一次打開兩個並關閉它們,但每次打開文件時都會收到一條消息,說明存在與其中的其他文件的鏈接,並且我不希望宏保持停止,因此我寧願打開它所有的文件一次 – 2013-05-13 21:55:25

+0

爲了壓制警告,請參閱此文章:http://stackoverflow.com/questions/14908372/how-to-suppress-update-links-warning – 2013-05-13 22:47:46

回答

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

謝謝你的工作完美 – 2013-05-14 08:15:45

相關問題