怎样把多个excel文件导入一张access表里

来源:百度知道 编辑:UC知道 时间:2024/06/05 19:02:21
我有几百个excel文件,想把它们导入到一个access表里,请注意,是一个表。如果用菜单一个个导入我的手估计就断了。高手可以赐教个语句或脚本自动完成这个工作么。我不是计算机专业的,对数据库也不懂。麻烦大家告知详细步骤。谢谢!!
解决问题的脚本如下,只好贴这里了
Option Compare Database
Function cwrMacro1()
On Error GoTo cwrMacro1_Err
Dim myDialog As FileDialog, oFile As Object, strName As String, tabName As String, n As Integer
Dim FSO As Object, myFolder As Object, myFiles As Object
Dim fn$
Set myDialog = Application.FileDialog(msoFileDialogFolderPicker)
With myDialog
If .Show <> -1 Then Exit Function
Set FSO = CreateObject("Scripting.FileSystemObject")
Set myFolder = FSO.GetFolder(.InitialFileName)
Set myFiles = myFolder.Files
For Each oFile In myFiles
strName = UCase(oFile.Name)
strName = VBA.Right(strName, 3)
n = VBA.Len(oFile.Name) - 4
tabName = "xlsInputTab"
If strName = "xls" Or strName = "XLS" Then
I

你说的几个Excel文件的数据格式应该要是一样的吧?
不然脚本要写很多标题行配对的程式!

第一假设是一样格式的!

另外, 除非你有几百个Excel文件的路径,文件名,工作表名称的清单,
不然,自动打开几百个Excel文件是不可能的。
有的话可以用
从 A 列输入文件路径及名称,B列输入工作表名称
Dim x as Long, sht as Worksheet, openSht as worksheet
set sht = ActiveSheet
For x = 2 to Range("A2").Selection.End(xlDown).Row
Workbooks.Open Filename:= sht.Cells( x, )
Set sht = worksheet( sht.cells( x, 2))
...
Next

又假设你没有这个清单!

所以,你只能做的只是每个Excel文件打开!

1。你先导入第一个Excel文件到 Access.

2。打开Access那个导入表

3。 打开第二个 Excel 文件,选好你要导入的范围,按Ctrl-C;

4。 转到Access,选取添加记录那一行,按Ctrl-V;

5。 关闭第二个 Excel 文件;

重复 3-5 对其余 几百个文件的导入。

若Access 文件在共享文件夹内的话,可以几个人一起做,一人做50-100个文件。

我相信一个15-30分钟便可以可以完成。

够详细了吗?

这个是没办法的啦。。。不过有个不是方法的方法,就是你去下载个按键精灵,把所有的EXCEL文件放到一个文件件里,然后编个按键精灵的宏,让它打开EXCEL,然后导入,关闭,在放入回收站或者别的文件夹,这样原来那个EXCEL的文件夹里又是一个新的文件在原先的位置了,就可以重复按键精灵的宏,不知道行不行