Имя: Пароль:
1C
1С v8
Подключение к защищенной книге Excel через ADO
0 Otvertka352
 
30.01.12
15:48
Всем, добрый день!
Ищу способ подключения к защищенной книге Excel через ADO. Если кто может помочь, выложите пример кода.
1 ponaroshku
 
30.01.12
16:48
ИмяФайлаЭксель = "D:\Export.xls"; // Имя создаваемого файла

// Собираем строку подключения
СтрокаПодключения = "
|Provider=Microsoft.Jet.OLEDB.4.0;
|Data Source="+ИмяФайлаЭксель+";
|Extended Properties=""Excel 8.0;HDR=No;"";";

// Создаем объект ADOX.Catalog
Catalog = Новый COMОбъект("ADOX.Catalog");
Catalog.ActiveConnection = СтрокаПодключения;

// Создаем таблицу и добавляем в неё два столбца
Table = Новый COMОбъект("ADOX.Table");
Table.Name = "Table";
Table.Columns.Append("Code");
Table.Columns.Append("Description");

// Присоединяем таблицу
Catalog.Tables.Append(Table);
Table = Неопределено;
Catalog = Неопределено;

// Создаем соединение
Connection = Новый COMОбъект("ADODB.Connection");
Connection.Open(СтрокаПодключения);
Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = Connection;
Command.CommandType = 1;

// Получаем номенклатуру для выгрузки
Запрос = Новый Запрос("
|ВЫБРАТЬ
|    Номенклатура.Код,
|    Номенклатура.Наименование
|ИЗ
|    Справочник.Номенклатура КАК Номенклатура");

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();

// Заполняем таблицу данными выборки
Пока Выборка.Следующий() Цикл
       Command.CommandText = "
       |INSERT INTO [Table] VALUES ('"+Выборка.Код+"','"+Выборка.Наименование+"')";
       Command.Execute();
КонецЦикла;

// Закрываем соединение
Command = Неопределено;
Connection.Close();
Connection = Неопределено;

Все, готово !
2 Ковычки
 
30.01.12
16:49
(1) что готово ?
3 ponaroshku
 
30.01.12
16:50
(2) пример подключения) взято с соседнего ресурса:)
4 aleks-id
 
30.01.12
16:51
(2)
- Все, готово, начальник!
- Что готово?
- Сломал все пять!
- Так я же тебе четыре давал!
- Да я образец тоже сломал!
5 ponaroshku
 
30.01.12
16:52
(4) Все готово - это в соседнем ресурсе последняя строка
6 Otvertka352
 
30.01.12
16:57
ponaroshku, спасибо за старание, но это не то что мне нужно. С незащищенной книгой, моя обработка давно умеет работать. У меня возникли трудности, с прочтением книги на которой установлена защита структуры.
7 Otvertka352
 
30.01.12
18:48
UP
8 aleks-id
 
30.01.12
18:49
пример защищенной книги в студию
9 Otvertka352
 
30.01.12
18:52
Можешь создать новый Excel файл, в нем перейти на закладку "Рецензирование", и далее защитить книгу.
10 shuhard
 
30.01.12
19:20
(6) http://support.microsoft.com/kb/211378/EN-US
так что открывай xls через DAO
снимай пароль
читай ADODB
ставь пароль
11 Otvertka352
 
31.01.12
14:13
shuhard, можешь показать пример кода? С DAO никогда не работал, вроде бы Microsoft советует использовать ADO, так как DAO устарел.
12 shuhard
 
31.01.12
14:29
(11) в поиск