2015-09-18 1 views
0

Я пишу инструмент для пользователя, который не запускает Office Professional (Office Standard). Это означает, что у них нет MSAccess, установленных в их системе. Таким образом, следующий код не удается (вызывается из Excel):Импортировать текстовый файл в таблицу MS Access на компьютере без Office Professional

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

Хотя я думаю, что это используется для работы (так, то я ищу, почему этот код не работает больше на стандартной лицензии машины), она не работает больше. Так что я пытаюсь найти решение для импортирования файла .csv в таблицу Access из VBA в Excel на машине, которая не запускается MS Access.

ответ

0

Хорошо, так что это, вероятно, взломать и ненадежно во многих случаях. Но, видимо, на ПК клиента есть файл 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 
1

Если msaccess.exe существует в Office 2010 Стандартная установка, они, вероятно, имеют доступ время выполнения установлен

Пользователи пропавшие его можно загрузить и установить его (это. бесплатно):

Access 2010 Runtime
плюс
Service Pack 2

Смежные вопросы