|
Запись в Excel из 1С
| ☑ |
0
bek_bassar
06.07.13
✎
15:30
|
Хочу записать данные из запроса в уже имеющийся excel файл.
Вот код:
ДокОбъект = ПолучитьCOMОбъект(ПутьКФайлуExcel);
НомерЛ = 1;
Книга = ДокОбъект.sheets(НомерЛ);
arr = Книга.UsedRange;
Выборка = ГотовыйОтчет();
Для Каждого СтрокаТЗ из Выборка Цикл
ШК =СтрокаТЗ.ШтрихКоды;
СтрокаШК = СтрЗаменить(ШК," ","");
//делаем поиск
НайденнаЯчейка = arr.Find(ШК);
НомерСтроки = СтрЗаменить(НайденнаЯчейка.Address,"$B$","");
Книга.Cells(НомерСтроки,Номерколонки).Value = Строка(СтрокаТЗ.КоличествоОборот);
КонецЦикла;
Выдает ошибку при записи в ячейку: {Форма.Форма.Форма(166)}: Ошибка при вызове метода контекста (Cells)
Книга.Cells(НомерСтроки,Номерколонки).Value = Строка(СтрокаТЗ.КоличествоОборот);
по причине:
Произошла исключительная ситуация (0x800a03ec)
Как правильно записать в ячейку excel?
|
|
1
icrocodile
06.07.13
✎
18:52
|
Эксель = Новый COMObject("Excel.Application");
Книга = Эксель.WorkBooks.Open(ИмяФайла);
Лист = Книга.WorkSheets(НомерЛиста);
area = Лист.UsedRange;
НайденнаЯчейка = area.Find(ИскомоеЗначение);
Лист.Cells(НайденнаЯчейка.Row,НайденнаЯчейка.Column).Value = Значение;
Книга.SaveAs(ИмяФайла);
Эксель.Application.Quit();
|
|
2
bek_bassar
06.07.13
✎
22:13
|
(1) Спасибо. Прокатило.
Теперь другая проблема. Файл в который я записываю имеет защиту,т.е. колонки, в которые я пытаюсь записать записать из 1с, редактируются только интерактивно, вставить из буфера или изменить формат - эти действия не доступны.
Как можно обойти защиту?
|
|
3
ДенисЧ
06.07.13
✎
22:40
|
а нефиг в защищённые файлы писать..
|
|
4
bek_bassar
06.07.13
✎
23:20
|
да клиенту нужно. аптечная тема...
|
|
5
Красный рассвет
06.07.13
✎
23:38
|
(4) У Микрософта пробовал узнавать?
|
|
6
bek_bassar
07.07.13
✎
08:59
|
форум миста мне роднее
|
|
7
Мимохожий Однако
07.07.13
✎
09:12
|
Сними защиту руками. Потом используй через 1С.
|
|
8
icrocodile
07.07.13
✎
19:36
|
(2) а если снять защиту программно, не прокатит ?
Лист.Cells(НайденнаЯчейка.Row,НайденнаЯчейка.Column).Locked=0;
|
|
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан