Очевидно, что если вы попытаетесь открыть защищенную паролем рабочую книгу Excel из VB.NET, вы получите сообщение об ошибке «Не удалось расшифровать файл».Добавление значения Password=
в строку подключения также не будет работать.
Чтобы обойти эту проблему, сначала откройте книгу Excel, используя Microsoft.VisualBasic.Interaction.GetObject()
, а затем откройте ее, используя подход соединения / набора записей, который вам нужен.использовать.При открытии GetObject()
у пользователя запрашивается пароль, и вы можете открыть файл, используя предпочитаемый вами подход.Например:
' Open the Excel workbook to prompt for the password
Dim xl As Object
xl = GetObject(CurrentProject.Path & "\" & "MASTER JAN 2009.xls")
' Adding your code here should work as the workbook will be opened and so
' you should be able to connect to it.
Конечно, ваш пользователь должен знать пароль.
Это решение взято из Откройте защищенную паролем рабочую книгу Excel .