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

相关问题