Имя: Пароль:
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 файлы могут быть любыми надо, чтобы было универсально!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший