Office VBA进阶(二):如何在Access 2007里导入一个Excel sheet表

今天一个同事问我怎么样可以快速合并多个Excel的Workbook文件。 她把那些文件放在了一个目录下,每个Excel表格里没有太复杂的数据,

或是说想要合并的Sheet页没有太复杂的数据格式(我指的是数据透视图,数据透视表,smartArt图形等)。让我帮她想想办法。



我的解决方案如下:

(1)遍历该目录,得到要合并的各个Excel文件路径。(这个在前一章节里讲解过了,不清楚的请参看这里)

(2)批量导入成Access对并的一张表。(这个是本节要讲述的,之后还会讲解VB.NET版本)

(3)在Access里合并成一张表

(4)方向导出到一个Excel表格里。(这个在Access的Ribbon Toolbar里直接操作就可以,我就不多废话了)


好的,言归正传,开始这节的内容。 

要实现在Access里导入一个Excel表格可以如何作呢?大致步骤如下:

(1)新建一个Access 2007文档,打开选中“External Data”的Tab

import Excel Sheet into Access

 (2)点选Excel,一步步就可以导入一个Excel WorkBook的Sheet表了。


但是要是遇到有许许多多这样的Excel文件需要导入时,这个也是挺麻烦的。

很自然得你会想到,能不能用Access的VBA宏来实现这样的功能呢? 答案当然:Yes.

=================================

这需要用到Access里的DoCmd对象。DoCmd里有一个TransferSpreadsheet函数就能完成这个功能。

我把示例代码贴出来:

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, sheetname, filename,True

如果你的Excel表格里的第一行是Title,最后一个参数就使用True,缺省是False.

 Access帮你把什么事都作了,省去了你去建立Connection的步骤,不然还要用ADO操作,太麻烦了,对初学者太深奥咯!

怎么样,很简单吧,但我得说,很小但很强大。 哈哈!!

Enjoy! 


原文地址:https://www.cnblogs.com/buhaiqing/p/1340540.html