![]() |
![]() |
![]() |
|
Копирование листов Excel | ☑ | ||
---|---|---|---|---|
0
Lexas
15.05.08
✎
14:09
|
Есть макет который представляет активный документ Excel. Он состоит из одного листа.
Нуно в одну книгу создавать несколько листов заполненных по данному Макету. Самое простое это скопировать этот лист и вставить его. Но тут то и проблема добавиь лист могу а вот скопировать содержимое не получается...... Создание нескольких книг экселя не подходит количество листов может быть под 50. И руками их потом собирать околееш.Помогитяяяяяяяяя. |
|||
1
Lexas
15.05.08
✎
14:17
|
Да и копировать нужно весь лист, а не рабочую область, На VBA это просто а как это сделать в 1С 8-ке
|
|||
2
Fragster
гуру
15.05.08
✎
14:18
|
записать макрос, и запусткать его из 1с
|
|||
3
dk
15.05.08
✎
14:20
|
в чем проблемы с копированием выражаются? Не знаешь как Ексель по OLE запустить?
|
|||
4
Lexas
15.05.08
✎
14:21
|
Глупый вопрос а как??
|
|||
5
Lexas
15.05.08
✎
14:23
|
Проблема макет активный докумет, это лист экселя.
Один лист не проблеема заполнить, но их может быть много нуно чтобы все листы лежали в одной книге экселя, заполненные по одному шаблону(макету) |
|||
6
Lexas
15.05.08
✎
14:24
|
Не получается программно скопировать лист и вставить его в эту же книгу
|
|||
7
Амёба
15.05.08
✎
14:32
|
ФайлОтчета = СоздатьОбъект("Excel.Application");
ФайлОтчета.Displayalerts = 0; Книга = ФайлОтчета.Workbooks.Open(ИмяФайлаВыгрузки); //вместо истина можно вставить имя шаблона Основа = Книга.Worksheets(1); Основа.Name = ПериодСтр(НачДата,КонДата); ФайлОтчета.Visible = 0; Основа.Activate(); Обл = Основа.Rows("1:2"); Обл.Select(); Обл.Replace("КонПериода",Строка(КонДата)); Обл.Replace("ВесьПериод",ПериодСтр(НачДата,КонДата)); Обл.Replace("НачПериода",Строка(НачДата-1)); Книга.Worksheets.Add(); ДешёвыеОС = Книга.Worksheets(1); ДешёвыеОС.Name = ПериодСтр(НачДата,КонДата) + " < 10,000"; Книга.Worksheets.Add(); ДорогиеОС = Книга.Worksheets(1); ДорогиеОС.Name = ПериодСтр(НачДата,КонДата) + " >= 10,000"; Основа.Activate(); Обл = Основа.Rows("1:2"); Обл.Select(); Обл.Copy(); ДорогиеОС.Activate(); ДорогиеОС.Paste(); Пример копирования в 7.7 |
|||
8
Lexas
15.05.08
✎
14:35
|
Амёба
Это копирование области а нужно лист иначе объединение ячеек отваливается |
|||
9
dk
15.05.08
✎
14:38
|
"Copies the sheet to another location in the workbook.
expression.Copy(Before, After) expression Required. An expression that returns one of the above objects. Before Optional Variant. The sheet before which the copied sheet will be placed. You cannot specify Before if you specify After. After Optional Variant. The sheet after which the copied sheet will be placed. You cannot specify After if you specify Before." VBA Help что-то вроде МойЛист = МояКнига.Sheets(1); МойЛист.Copy(, МойЛист); |
|||
10
Lexas
15.05.08
✎
14:38
|
На VBA это так
Sub м() Sheets(1).Select Sheets(1).Copy After:=Sheets(1) End Sub А как на 1С эт сделать |
|||
11
Lexas
15.05.08
✎
14:39
|
dk
При такой записи вылетает с ошибкой |
|||
12
dk
15.05.08
✎
14:40
|
МойЛист.Copy(МойЛист);
|
|||
13
Lexas
15.05.08
✎
14:43
|
dk
пробывал и так и вставлял первым параметром неопределено, NULL Ошибка: произошла исключительная ситуация....Метод Copy из класса... завершен неверно |
|||
14
dk
15.05.08
✎
14:46
|
как ексель создаешь?
|
|||
15
igork1966
15.05.08
✎
14:48
|
(13) Код покажи....
|
|||
16
Амёба
15.05.08
✎
15:14
|
(8) проверил ещё раз - не отваливается.
|
|||
17
Lexas
15.05.08
✎
15:54
|
Все разобрался, нуно было актинвный лист указать
|
|||
18
Lexas
15.05.08
✎
15:54
|
Спасибо всем
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |