Имя: Пароль:
1C
1С v8
Список табдоков в многостраничный Excel
0 Jokerman
 
09.07.13
14:20
Здравствуйте всем, есть такая проблемка, хотелось было увидеть варианты решения этой проблемы. Есть массив табдоков и их нужно сохранить в одном excel файле, причем каждый таб в отдельном листе...
1 Deon
 
09.07.13
14:26
(0) и что вас, таки смущает в этой задаче?
2 Jokerman
 
09.07.13
14:32
(1) Не смущает, просто думаю как быстрее и лучше. У меня пока идея простая сохранить все по отдельности, и потом копипастом закидывать по листам.
3 SherifSP
 
09.07.13
14:37
(0) Выгрузить все доки в ТЗ, обойти ТЗ и загрузить данные в xls
4 Jokerman
 
09.07.13
14:49
(3) тз не то, там специфичная форма, должна быть перенесена 1=1
5 sunson
 
10.07.13
09:26
Выгружаешь средствами 1С в файлы эксель, а потом методами эксель "Копировать" - "Вставить" копируешь в новые листы нового файла эксель
6 sunson
 
10.07.13
09:31
[code]
Процедура ВыделитьДиапазон(Лист, НачальнаяСтрока, КонечнаяСтрока)
   
   ДиапазонСтрок = Лист.Rows("" + Строка(НачальнаяСтрока) + ":" + Строка(КонечнаяСтрока));
   ВыделенныйДиапазонСтрок = ДиапазонСтрок.Select();
   
КонецПроцедуры

Процедура КопироватьВыделениеВБуфер(Эксель)

   Эксель.Selection.Copy();

КонецПроцедуры

Процедура ВставитьВыделенное(Эксель)
   
   Эксель.Selection.Insert(-4121);
   
КонецПроцедуры

[/code]
7 sunson
 
10.07.13
09:34
<code>
Перед тем как обращаться к нужному листу книги надо его обязательно активировать

Процедура АктивироватьЛист(Лист)

   Лист.Activate();

КонецПроцедуры
</code>
8 sunson
 
10.07.13
09:38
надо не забыть скопировать ширину колонок в новый лист эксель
перед тем как в него копировать

Процедура КопироватьШиринуСтолбцовДиапазона(ЛистПриемник, Координаты, Диапазон)
   
   Диапазон.Copy(); //записали в буфер
   ЛистПриемник.Range(ЛистПриемник.Cells(Координаты.НачальнаяСтрока, Координаты.НачальнаяКолонка),
                       ЛистПриемник.Cells(Координаты.НачальнаяСтрока+Координаты.КонечнаяСтрока-1,
                           Координаты.НачальнаяКолонка+Координаты.КонечнаяКолонка-1)).PasteSpecial(8);// цифра 8 означает сохранить ширину столбцов как в источнике.
   
КонецПроцедуры
9 Jokerman
 
22.07.13
08:47
Спасибо (6,7,8). У вас нету метода, как узнать координаты самой крайней правой печатаемой ячейки. Excel файлы могут быть любыми надо, чтобы было универсально!