![]() |
|
Записать ТабличныйДокумент в новый лист существующего файла Excel | ☑ | ||
---|---|---|---|---|
0
ДядяМитяй
07.09.17
✎
18:02
|
Вот собственно сабж. Хорошо бы было что-нибудь аналогичное ТабличныйДокумент.Записать(). Но поскольку нету, может кто-нибудь подскажет, как это сделать средствами VB, в котором я полный лох. Или еще как. Или сохранить как другой файл, но тогда как перекинуть лист из книги в книгу? В справке по VB нашел только как внутри книги лист пинать.
|
|||
1
Господин ПЖ
07.09.17
✎
18:04
|
а проблема то в чем? лист - такой же член коллекции как ТЧ из ТабличныеЧасти
|
|||
2
Базис
naïve
07.09.17
✎
18:08
|
Я тут уже хвалил книгу Андрея Михайлова "1С.Предприятие 7.7/8.0. Системное программирование", но повторюсь. Там хорошие простые примеры и раскрыта объектная модель экселя, ворда и прочая.
|
|||
3
Tatitutu
07.09.17
✎
18:30
|
1. Для чего это нужно ?
2. выбрал папку - сохранил туда все файлы 3. Всести строку Название файла или выбрать файл и все что есть в папке в один файл запихать, что осталось удалить... ДокЭксель = Новый COMОбъект("Excel.Application"); ДокЭксель.DisplayAlerts=0; ОбщаяКнига = ДокЭксель.WorkBooks.Open(ИмяОсновногоФайла); ЛистСДанными = ОбщаяКнига.Sheets(1); ЛистСДанными.Select(); ЛистСДанными.Name ="MAGAZKA (http://www.magazkat.ru)"; Сч=1; Для каждого ПутьКФайлуXLS Из МассивПутейФайловXLS Цикл Книга = ДокЭксель.WorkBooks.Open(ПутьКФайлуXLS.Значение); ЛистСДанными = Книга.Sheets(1); ЛистСДанными.Select(); ИмяЛиста=СтрЗаменить(Книга.Name,СокрЛП(ПутьДляСохранения),""); ИмяЛиста=СтрЗаменить(ИмяЛиста,".xls",""); ЛистСДанными.Name =ИмяЛиста; ЛистСДанными.Copy(ОбщаяКнига.Sheets(Сч)); Сч=Сч+1; Книга.close(); КонецЦикла; ДокЭксель.ActiveWindow.TabRatio = 0.5; ЛистСДанными = ОбщаяКнига.Sheets(1); ЛистСДанными.Select(); ОбщаяКнига.Save(); ОбщаяКнига.close(); ДокЭксель.Quit(); ДокЭксель = Неопределено; Для каждого ПутьКФайлуXLS Из МассивПутейФайловXLS Цикл УдалитьФайлы(СокрЛП(ПутьКФайлуXLS.Значение)); КонецЦикла; //КомандаСистемы(СокрЛП(ПутьДляСохранения)+"\royalti.xls"); ДокЭксель = Новый COMОбъект("Excel.Application"); ДокЭксель.WorkBooks.Open(ИмяОсновногоФайла); ДокЭксель.Visible = Истина; |
|||
4
Господин ПЖ
07.09.17
✎
18:33
|
>Там хорошие простые примеры и раскрыта объектная модель экселя, ворда и прочая.
эти модели хорошо раскрывает msdn |
|||
5
ДядяМитяй
08.09.17
✎
09:29
|
(3) Спасибо, это то, что нужно. Просто в справке в описании этих команд только внутри одной книги все описано - поэтому сомневался.
А нужно это для предоставления реестра в банк по строгому шаблону - три совершенно разных таблицы в одном файле с определенными именами листов. |
|||
6
ДядяМитяй
08.09.17
✎
15:38
|
Интересно, что ТабличныйДокумент.Записать(Путь, ".xls) создает файл, в котором только один лист и добавить как-то не получается. Пришлось создавать новый файл и из трех других добавлять листы.
|
|||
7
ДядяМитяй
08.09.17
✎
15:41
|
* ".xls" - кавычку пропустил
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |