Кто-нибудь может мне помочь? Импортируйте электронную таблицу xlsx с паролем в Acccess / Vba. Похоже, формат Excel .xls работает, но не работает .xlsx - PullRequest
0 голосов
/ 12 февраля 2020

Доброе утро, я в Access / Vba, мне нужно импортировать электронную таблицу xlsx с паролем в таблицу Access, я не могу, электронная таблица xls работает, но xlsx не работает. Кто-нибудь может мне помочь?

    'This code does not work.
    Function ImportProtected(strFile As String, _
    strPassword As String)
    Dim exApp As Excel.Application
    Dim oExcel As Object, oWb As Object, wkb As Object
    Set oExcel = CreateObject("Excel.Application")
    Set oWb = oExcel.Workbooks.Open(FileName:=strFile, Password:=strPassword)

    DoCmd.TransferSpreadsheet transfertype:=acImport, SpreadsheetType:=5, _
         TableName:="tmpTableName", FileName:=strFile, _
         Hasfieldnames:=True, Range:="Q1!C:G"
    Set exApp = appExcel.Workbooks.Open(strFile)
    exApp.Password = strPassword
    exApp.Save
    exApp.Close
    oWb.Close SaveChanges:=False
    oExcel.Quit
    Set oExcel = Nothing
    End Function

1 Ответ

0 голосов
/ 27 февраля 2020

Вы не сказали нам, в чем ошибка. Сказать, что это не работает, на самом деле не помогает. Когда я смотрю на ваш код, я не понимаю, почему вы открываете один и тот же файл дважды. Этот код не должен быть там:

    Set exApp = appExcel.Workbooks.Open(strFile)
    exApp.Password = strPassword
    exApp.Save
    exApp.Close

Вы пытаетесь открыть файл, который уже открыт и заблокирован. Это может быть ошибкой.

...