опять подключение к Excel, но...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SergT
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 237
Зарегистрирован: 22.06.2005 (Ср) 21:50
Откуда: Москва

опять подключение к Excel, но...

Сообщение SergT » 17.10.2006 (Вт) 16:42

Доброе время суток, уважаемые All!
Не бейте больно, если тема покажется избитой. Пересмотрел множество примеров, искал в MSDN (может не увидел?)
Использую код:
Set cn = New ADODB.Connection
With cn
.Provider = "MSDASQL"
.ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & filePath & ";FirstRowHasNames=0
.Open
End With
Однако, файл защищен паролем на открытие. Выдается ошибка, типа "Не могу дешифровать файл".
Если файл предварительно открыть (пробовал открывать вручную, набирая пароль "55555"), то все замечательно.
По анологии с другими подключениями, пытался впихнуть строку "pwd=55555" в разные места. Но не работает. :cry:

Очень надо в VB получить рекордсет, наполненный данными из этого запороленного Эксельного файла,
но не открывая его. Любыми путями! Если это важно, файл лежит на сервере локальной сети.
Л. Толстой, «зачем обдумывать обдуманное, бери готовое и иди дальше, в этом сила человечества»
"Всё в наших руках, поэтому их нельзя опускать" (Коко Шанель)

SergT
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 237
Зарегистрирован: 22.06.2005 (Ср) 21:50
Откуда: Москва

Сообщение SergT » 17.10.2006 (Вт) 17:25

Может по аналогии:
;Jet OLEDB:Database Password=55555; :?:

Тема уже подымалась на форуме, но ответ был - снимите пароль!

Ответьте, пожалуйста, возможно это вообще или нет?
Л. Толстой, «зачем обдумывать обдуманное, бери готовое и иди дальше, в этом сила человечества»
"Всё в наших руках, поэтому их нельзя опускать" (Коко Шанель)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.10.2006 (Вт) 17:35

Таки да, сними пароль.
Насколько я помню, провайдер с запароленными файлами XLS не работает.
Lasciate ogni speranza, voi ch'entrate.

SergT
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 237
Зарегистрирован: 22.06.2005 (Ср) 21:50
Откуда: Москва

Сообщение SergT » 18.10.2006 (Ср) 9:00

By using the Microsoft Jet engine, you can access Excel worksheets as if they were actually Access databases. As
with accessing other types of ISAM files with the Jet engine, there are a few restrictions with accessing Excel
worksheets:
You cannot delete rows. l
You cannot delete or modify cells that contain formulas. l
You cannot create indexes. l
You cannot read encrypted Excel files, even when using the correct password (PWD parameter) in the
Connect string.
:cry:
l
You can add records to a worksheet or edit standard cells (those without formulas).
When opening an ISAM database with the OpenDatabase method, you must provide a valid ISAM type. In addition
to this, if you want to use the first row of the Excel document as field names, you can specify a parameter HDR
equal to Yes. (HDR stands for header.) If you set HDR to No, the first row of the Excel worksheet is included as a
record in the recordset, as in this example:
Set db = DBEngine.Workspaces(0).OpenDatabase("C:\VB6DBHT\" & _
"CHAPTER02\HowTo09\WidgetOrders.XLS", _
False, False, "Excel 8.0; HDR=NO;")

http://e-books.amagrammer.net/Visual%20Basic/
Л. Толстой, «зачем обдумывать обдуманное, бери готовое и иди дальше, в этом сила человечества»
"Всё в наших руках, поэтому их нельзя опускать" (Коко Шанель)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 54

    TopList  
cron