Excel - VBA 问题。需要在不打开文件的情况下访问目录中所有 Excel 文件的数据

use*_*358 0 database excel vba file

因此,我有一个“主”Excel 文件,需要用目录中的 Excel 文件中的数据填充该文件。我只需要访问每个文件并从每个工作簿的第二张表中复制一行并将其粘贴到我的主文件中,而无需打开 Excel 文件。

我不是这方面的专家,但我可以处理一些中间宏。我需要的最重要的是能够在不打开文件的情况下一一访问它们。我真的需要这个,所以非常感谢任何帮助!谢谢!

编辑...

所以我一直在尝试使用 dir 函数通过循环运行目录,但我不知道如何从第一个文件继续。我在网站上看到了这个,但对我来说,循环不会停止,它只访问目录中的第一个文件。

Folder = "\\Drcs8570168\shasad\Test"
    wbname = Dir(Folder & "\" & "*.xls")

    Do While wbname <> ""

i = i + 1
ReDim Preserve wblist(1 To i)
wblist(i) = wbname
wbname = Dir(FolderName & "\" & "*.xls")
Run Code Online (Sandbox Code Playgroud)

wbname 如何在文件列表中向下移动?

bre*_*tdj 5

不必打开文件(ADO 可能是一个选项,就像使用代码创建链接或使用 ExecuteExcel4Macro 一样),通常使用代码打开文件是最灵活和最简单的方法。

  1. 从封闭工作簿复制范围 (ADO)
  2. 执行Excel4宏
  3. 链接方式

但是为什么您不想打开这些文件 - 这真的是一个硬限制吗?

我在宏中的代码循环遍历放置在两个命名工作表之间的所有工作表并将其数据复制到合并文件中,将文件夹中每个工作簿中的所有工作表中的所有数据一起提取(通过在后台打开文件)。

如果您对此过程感到满意,可以轻松地将其定制为第 2 页的第 X 行

  • 请记住 - ADO 也会“打开”文件:) (3认同)
  • 他们*都*在某种程度上打开文件! (3认同)