在没有Office Professional的计算机上将文本文件导入MS Access Table

时间:2015-09-18 08:28:36

标签: excel vba ms-access ms-access-2010

我正在为不运行Office Professional(Office Standard)的用户编写工具。这意味着他们的系统上没有安装MSAccess。因此,以下代码失败(从Excel调用):

    Dim appAccess As Object
    Set appAccess = CreateObject("Access.Application")
    With appAccess
        .OpenCurrentDatabase Range("DBfile")
        .Application.Run "importmms"
        .Quit
    End With

虽然我认为这曾经有用(所以我正在寻找为什么这个代码在标准许可机器上不再工作),它已经不再适用了。因此,我试图在的计算机上找到将.csv 文件导入 Access表的解决方案 VBA in Excel 不运行MS Access

2 个答案:

答案 0 :(得分:1)

如果Office 2010 Standard安装中存在msaccess.exe,则可能安装了Access 运行时

缺少它的用户可以下载并安装它(它是免费的):

Access 2010 Runtime
加上
Service Pack 2

答案 1 :(得分:0)

好的,这可能是一个黑客,在许多情况下都不可靠。但显然在客户端的PC上是msaccess.exe(无论是否是许可。(也许有人可以确认msaccess.exe是否确实附带了Office软件的标准许可证)

所以我只是从命令行运行它:

If FileExist("c:\Program Files (x86)\Microsoft Office\Office14\msaccess.exe") Then
    Shell ("c:\Program Files (x86)\Microsoft Office\Office14\msaccess.exe """ & dbpath & """ /x ImportMMS")
End If