|
v7: Добрый день, подскажите, плиз, что я не так написал? Текст ошибки: {Документ.Бан | ☑ | ||
---|---|---|---|---|
0
Bodrug
08.05.14
✎
14:01
|
Процедура ВыгрузкаExcel()
Если ПустоеЗначение(ПутьКФайлуФрут) = 1 Тогда Вопрос("Необходимо задать файл для выгрузки!",0); КонецЕсли; Если КоличествоСтрок() < 1 Тогда Вопрос("Нет данных для выгрузки.",0); КонецЕсли; Если ФС.СуществуетФайл(ПутьКФайлуФрут) = 0 Тогда Предупреждение("Файл "+СокрЛП(ПутьКФайлуФрут)+" не найден!"); Возврат; КонецЕсли; Попытка Excel = СоздатьОбъект("Excel.Application"); Excel.Workbooks.Open(ПутьКФайлуФрут); КолЛистов = Excel.Worksheets.Count; Если КолЛистов < 12 Тогда Для Н=КолЛистов+1 По 12 Цикл //добавляем необходимое кол листов мах = 12 Лист = Excel.WorkSheets.Add(); КонецЦикла; Для Н=1 По 12 Цикл //переименовываем листы Лист = Excel.Worksheets(Н); Лист.Name = МесяцСтрока(Н); Лист.Cells(1,1).Value = "Дата"; Лист.Cells(1,1).Borders().LineStyle = 1; Лист.Cells(1,1).Borders().Weight = 2; Лист.Cells(1,1).EntireColumn.AutoFit(); Лист.Cells(1,2).Value = "Счет кредит"; Лист.Cells(1,2).Borders().LineStyle = 1; Лист.Cells(1,2).Borders().Weight = 2; Лист.Cells(1,2).EntireColumn.AutoFit(); Лист.Cells(1,3).Value = "С/Кредит"; Лист.Cells(1,3).Borders().LineStyle = 1; Лист.Cells(1,3).Borders().Weight = 2; Лист.Cells(1,3).EntireColumn.AutoFit(); Лист.Cells(1,4).Value = "В/Кредит"; Лист.Cells(1,4).Borders().LineStyle = 1; Лист.Cells(1,4).Borders().Weight = 2; Лист.Cells(1,4).EntireColumn.AutoFit(); Лист.Cells(1,5).Value = "Счет дебет"; Лист.Cells(1,5).Borders().LineStyle = 1; Лист.Cells(1,5).Borders().Weight = 2; Лист.Cells(1,5).EntireColumn.AutoFit(); КонецЦикла; КонецЕсли; Исключение Сообщить(ОписаниеОшибки(),"!"); Excel.ActiveWorkbook.Close(); Возврат ; КонецПопытки; Excel.Worksheets(1).Select(); Если ((СокрЛП(Excel.Cells(1,1).Value)<>"Дата")) Тогда; Сообщить("Неверный формат данных! Возможно вы выбрали неверный файл.","!!!"); Excel.ActiveWorkbook.Close(); Возврат ; КонецЕсли; ТекМесяц = ДатаМесяц(ДатаДок); // определяем месяц, для записи на опред Лист Лист = Excel.Worksheets(ТекМесяц); КолСтрок = Лист.UsedRange.Rows.Count; //кол строк в файле ТекСтрокаЕ = КолСтрок+1; //строка с кот будет вестись запись ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл //цикл по таб части док-та //строка по заданному счету 361 и является приходом? Если (Счет.Код = "361") И (ПриходРасход = Перечисление.ПлюсМинус.Плюс) Тогда Лист.Cells(текСтрокаЕ,1).Value = ДатаДок; Лист.Cells(текСтрокаЕ,1).Borders().LineStyle = 1; Лист.Cells(текСтрокаЕ,1).Borders().Weight = 2; Лист.Cells(текСтрокаЕ,2).Value = СокрЛП(Субконто.ПолнНаименование); Лист.Cells(текСтрокаЕ,2).Borders().LineStyle = 1; Лист.Cells(текСтрокаЕ,2).Borders().Weight = 2; Лист.Cells(текСтрокаЕ,3).NumberFormatLocal = "# ##0,00"; Лист.Cells(текСтрокаЕ,3).Value = СуммаПлатежа; Лист.Cells(текСтрокаЕ,3).Borders().LineStyle = 1; Лист.Cells(текСтрокаЕ,3).Borders().Weight = 2; Лист.Cells(текСтрокаЕ,4).Value = "ГрнБ/Н"; Лист.Cells(текСтрокаЕ,4).Borders().LineStyle = 1; Лист.Cells(текСтрокаЕ,4).Borders().Weight = 2; Лист.Cells(текСтрокаЕ,5).Value = СокрЛП(Константа.БазФирма.ПолнНаименование); Лист.Cells(текСтрокаЕ,5).Borders().LineStyle = 1; Лист.Cells(текСтрокаЕ,5).Borders().Weight = 2; текСтрокаЕ = текСтрокаЕ + 1; Иначе Продолжить; КонецЕсли; КонецЦикла; Excel.SaveAs(ПутьКФайлуФрут); Excel.Close(); Сообщить("Файл записан!","."); КонецПроцедуры |
|||
1
Bodrug
08.05.14
✎
14:01
|
Извиняюсь, завыл выбрать v7 =)
|
|||
2
Bodrug
08.05.14
✎
14:02
|
Текс ошибки:
{Документ.БанковскаяВыписка.Форма.Модуль(993)}: Поле агрегатного объекта не обнаружено (SaveAs) |
|||
3
MaxS
08.05.14
✎
14:05
|
Откуда Excel знает какую книгу нужно сохранить?
|
|||
4
Bodrug
08.05.14
✎
14:05
|
ап
|
|||
5
Bodrug
08.05.14
✎
14:06
|
разве Excel сама по себе не является книгой? (3)
|
|||
6
Wobland
08.05.14
✎
14:07
|
(5) больше одного файлика никогда не открывал?
|
|||
7
Bodrug
08.05.14
✎
14:08
|
(6) вообще в первый раз работаю с Excel из 7.7
|
|||
8
Bodrug
08.05.14
✎
14:12
|
неужели никто не подскажет?
|
|||
9
Wobland
08.05.14
✎
14:12
|
(8) MaxS знает, я уверен
|
|||
10
Bodrug
08.05.14
✎
14:13
|
Знает и молчит
|
|||
11
Wobland
08.05.14
✎
14:14
|
(10) молчит? я тебе расскажу:
Откуда Excel знает какую книгу нужно сохранить? |
|||
12
Bodrug
08.05.14
✎
14:17
|
(11) Нужно что-то типа такого?:
Книга = Excel.Workbooks.Open(ПутьКФайлуФрут); // // Книга.SaveAs(ПутьКФайлуФрут); Книга.Close(); Сообщить("Файл записан!","."); |
|||
13
Wobland
08.05.14
✎
14:18
|
(12) какие слова заставят тебя попробовать?
|
|||
14
Bodrug
08.05.14
✎
14:23
|
(13)
Попытка Эксель = СоздатьОбъект("Excel.Application"); Excel =Эксель.Workbooks.Open(ПутьКФайлуФрут); КолЛистов = Excel.Worksheets.Count; Если КолЛистов < 12 Тогда Для Н=КолЛистов+1 По 12 Цикл //добавляем необходимое кол листов мах = 12 Лист = Excel.WorkSheets.Add(); КонецЦикла; Для Н=1 По 12 Цикл //переименовываем листы Лист = Excel.Worksheets(Н); Лист.Name = МесяцСтрока(Н); Лист.Cells(1,1).Value = "Дата"; Лист.Cells(1,1).Borders().LineStyle = 1; Лист.Cells(1,1).Borders().Weight = 2; Лист.Cells(1,1).EntireColumn.AutoFit(); Лист.Cells(1,2).Value = "Счет кредит"; Лист.Cells(1,2).Borders().LineStyle = 1; Лист.Cells(1,2).Borders().Weight = 2; Лист.Cells(1,2).EntireColumn.AutoFit(); Лист.Cells(1,3).Value = "С/Кредит"; Лист.Cells(1,3).Borders().LineStyle = 1; Лист.Cells(1,3).Borders().Weight = 2; Лист.Cells(1,3).EntireColumn.AutoFit(); Лист.Cells(1,4).Value = "В/Кредит"; Лист.Cells(1,4).Borders().LineStyle = 1; Лист.Cells(1,4).Borders().Weight = 2; Лист.Cells(1,4).EntireColumn.AutoFit(); Лист.Cells(1,5).Value = "Счет дебет"; Лист.Cells(1,5).Borders().LineStyle = 1; Лист.Cells(1,5).Borders().Weight = 2; Лист.Cells(1,5).EntireColumn.AutoFit(); КонецЦикла; КонецЕсли; Исключение Сообщить(ОписаниеОшибки(),"!"); Excel.ActiveWorkbook.Close(); Возврат ; КонецПопытки; Excel.Worksheets(1).Select(); Если ((СокрЛП(Excel.Cells(1,1).Value)<>"Дата")) Тогда; Сообщить("Неверный формат данных! Возможно вы выбрали неверный файл.","!!!"); Excel.ActiveWorkbook.Close(); Возврат ; КонецЕсли; ТекМесяц = ДатаМесяц(ДатаДок); // определяем месяц, для записи на опред Лист Лист = Excel.Worksheets(ТекМесяц); КолСтрок = Лист.UsedRange.Rows.Count; //кол строк в файле ТекСтрокаЕ = КолСтрок+1; //строка с кот будет вестись запись ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл //цикл по таб части док-та //строка по заданному счету 361 и является приходом? Если (Счет.Код = "361") И (ПриходРасход = Перечисление.ПлюсМинус.Плюс) Тогда Лист.Cells(текСтрокаЕ,1).Value = ДатаДок; Лист.Cells(текСтрокаЕ,1).Borders().LineStyle = 1; Лист.Cells(текСтрокаЕ,1).Borders().Weight = 2; Лист.Cells(текСтрокаЕ,2).Value = СокрЛП(Субконто.ПолнНаименование); Лист.Cells(текСтрокаЕ,2).Borders().LineStyle = 1; Лист.Cells(текСтрокаЕ,2).Borders().Weight = 2; Лист.Cells(текСтрокаЕ,3).NumberFormatLocal = "# ##0,00"; Лист.Cells(текСтрокаЕ,3).Value = СуммаПлатежа; Лист.Cells(текСтрокаЕ,3).Borders().LineStyle = 1; Лист.Cells(текСтрокаЕ,3).Borders().Weight = 2; Лист.Cells(текСтрокаЕ,4).Value = "ГрнБ/Н"; Лист.Cells(текСтрокаЕ,4).Borders().LineStyle = 1; Лист.Cells(текСтрокаЕ,4).Borders().Weight = 2; Лист.Cells(текСтрокаЕ,5).Value = СокрЛП(Константа.БазФирма.ПолнНаименование); Лист.Cells(текСтрокаЕ,5).Borders().LineStyle = 1; Лист.Cells(текСтрокаЕ,5).Borders().Weight = 2; текСтрокаЕ = текСтрокаЕ + 1; Иначе Продолжить; КонецЕсли; КонецЦикла; Excel.SaveAs(ПутьКФайлуФрут); Excel.Close(); Сообщить("Файл записан!","."); Теперь выдает такую ошибку: {Документ.БанковскаяВыписка.Форма.Модуль(955)}: Поле агрегатного объекта не обнаружено (Cells) Ругается на строку Если ((СокрЛП(Excel.Cells(1,1).Value)<>"Дата")) Тогда; |
|||
15
Wobland
08.05.14
✎
14:24
|
ну возвращай всё взад и отвечай на (3)
|
|||
16
Bodrug
08.05.14
✎
14:28
|
(15) Ты меня уже запутал. Я дописал
Эксель = СоздатьОбъект("Excel.Application"); Excel =Эксель.Workbooks.Open(ПутьКФайлуФрут); И дальше работал с Excel, которая, как я понимаю, и выступает книгой. Что не так? |
|||
17
Wobland
08.05.14
✎
14:31
|
||||
18
DJ Anthon
08.05.14
✎
14:31
|
так ты в инете посмотри, там примеров завались
|
|||
19
DJ Anthon
08.05.14
✎
14:32
|
(17) опездал (
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |