我有多个以CSV格式保存的表格:
我想将所有文件导入一个Access(database.mdb)数据库。即结果是应该有1个MS Access文件,分别为table1,table2,table3。
是否可以从Excel的VBA中执行此操作?
有一个命令:
DoCmd.TransferText acImportDelim, "dTT_DSC_Bucket_Alert_Thresholds", _
"table1", "C:\Users\MEEE\Desktop\dumps\New folder\files\table1.csv", True
但是它只能从Access本身起作用。我需要能够以某种方式从excel连接到MDB,然后为每个文件执行导入。
是的,但是我们需要添加到您的Excel中-工具/参考/ MSAccess
然后在某个文件夹中创建一个MDB(例如StackCSV.mdb或database.mdb)。
然后将此代码添加到您的excel中-
Option Explicit
Sub doit()
' Create an instance of the Access application object.
Dim objAccess As Access.Application
Set objAccess = CreateObject("Access.Application")
' Check that this is the path on YOUR PC for
Const conPATH = "C:\donPablo\StackOverFlow\StackCSV.mdb"
objAccess.OpenCurrentDatabase conPATH
objAccess.Visible = True
' do the Transfer
objAccess.DoCmd.TransferText acImportDelim, "", _
"table1", "C:\donPablo\StackOverFlow\StackCSV.csv", True
' close out the mdb
objAccess.Quit
Set objAccess = Nothing
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句