![]() |
![]() |
|
Добавление листов в Excel. Помогите, пожалуйста, кто знает! | ☑ | ||
---|---|---|---|---|
0
VladikЯ
14.09.09
✎
17:06
|
Нужно выгрузить 3 таблицы в Эксель, т.е. чтобы создалась книга с 3 листами. Книгу-то создаю с данными 1-го листа, а вот следующие листы что-то не идут. Код у меня такой (пока с 2 листами):
Процедура ВЭксель(Таб,Таб2,ИмяФайла="") Книга = Excel.WorkBooks.Open(ИмяФайла); Книга.Записать(?(ПустоеЗначение(ИмяФайла)=0,ИмяФайла,КаталогПользователя()+"Файл_начислений_01120.xls"),"XLS"); Excel.Visible=1; Лист1 = Книга.WorkSheets(1); Область=Таб.Область(1,1,Таб.ВысотаТаблицы(),Таб.ШиринаТаблицы()); Область.ВысотаСтроки(12); Лист2 = Книга.WorkSheets.Add; Область2=Таб2.Область(1,1,Таб2.ВысотаТаблицы(),Таб2.ШиринаТаблицы()); Область.ВысотаСтроки(12); Лист1.Activate(); Лист2.Activate(); КонецПроцедуры Подскажите, что не так?! |
|||
1
ТелепатБот
гуру
14.09.09
✎
17:06
|
||||
2
smaharbA
14.09.09
✎
17:11
|
Лист2 = Книга.WorkSheets.Add(Лист1);
а что не получается ? |
|||
3
VladikЯ
14.09.09
✎
17:13
|
Ну, когда у меня добавляется 2-й лист (Лист2 = Книга.WorkSheets.Add;), то при открытии книги его нет. Только 1-й лист с данными, а второго листа нет.
|
|||
4
Альберт_Уфа
14.09.09
✎
17:16
|
(3) обычно листы не видны при создании из 1с.
|
|||
5
VladikЯ
14.09.09
✎
17:23
|
Ну да. Я вижу только 1 лист. Точнее, ярлычка не вижу, только данные, которые должны быть рна первом листе. Вы хотите сказать, что надо открыть ярлычки? А программно из 1С этого не сделать?
|
|||
6
smaharbA
14.09.09
✎
17:32
|
Книга.Windows.Item(1).DisplayWorkbookTabs=-1;
|
|||
7
Альберт_Уфа
14.09.09
✎
17:47
|
(5) ну как вариант открыть ярлыки. они на самом деле есть, что-то нужно сдвинуть и ярлыки будут видны.
|
|||
8
smaharbA
14.09.09
✎
17:50
|
|
|||
9
VladikЯ
14.09.09
✎
18:02
|
Хорошо. Спасибо. Сейчас всё попробую.
|
|||
10
Torquader
14.09.09
✎
18:32
|
А Excel откуда появляется ?
Кроме того, когда мы открываем файл Excel, то надо проверить, что в нём только один лист, а не несколько - иначе можно так надобавляться, что никто и не найдёт последние добавленные листы. |
|||
11
VladikЯ
14.09.09
✎
18:59
|
Ну, Экселья создаю
Excel = СоздатьОбъект("Excel.Application"); Но вот что-то стало выбивать ошибку выражение Excel.WorkBooks.SaveAs(ИмяФайла,1); при попытке создать файл в катклоге (ИмяФайла), хотя в отладчике путь прописывается правильно.... |
|||
12
Torquader
14.09.09
✎
19:14
|
Имя файла - строка фиксированной длины, а пробелы кто-то забыл с конца удалить.
|
|||
13
VladikЯ
14.09.09
✎
19:53
|
Понял. СокрЛП() надо...
|
|||
14
smaharbA
15.09.09
✎
05:42
|
(12) фигня, (11) ха это по башке линейкой надо и почаще
|
|||
15
VladikЯ
15.09.09
✎
14:00
|
(14) Слава богу, что не ты мой учитель....
Вобщем, кому интересно, проблемку решил так, работает: Excel.Visible=1; Excel.DisplayAlerts=0; Excel.WorkBooks.Add(); Книга = Excel.WorkBooks.Item(1); Лист1 = Книга.WorkSheets(1); Лист1.Name = "Title1"; Лист2 = Книга.WorkSheets.Add; Лист2.Name = "Title1"; Но вот, правда, ещё проблемка: по умолчанию Excel добавляет листы в начало, а надо бы в конец, т.е после последнего листа. Пробовал так (как пишет макрос): Книга.WorkSheets.Add After:=Книга.WorkSheets(Книга.WorkSheets.Count) но 1С на слово "After" ругается всякий раз, хотя контекстом я манипулировал по-разному (напр., Книга.WorkSheets.Add(,After) ) Может, кто знает, в чём тут дело? |
|||
16
dk
15.09.09
✎
14:05
|
Excel.WorkBooks.Add();
Книга = Excel.WorkBooks.Item(1); --- розги и на горох ))) ---- лист4 = Книга.WorkSheets.Add("",Книга.WorkSheets(3)); как-то так |
|||
17
Rie
15.09.09
✎
14:05
|
(15) 1С не знает именованных параметров.
Посмотри в справке по VBA, на каком месте этот параметр стоять должен. |
|||
18
VladikЯ
15.09.09
✎
14:41
|
(16) Как-то так не катит, вылетает ошибка с указанием на строку (я пытался по аналогии добавить 2-ой лист к первому)
Лист2 = Книга.WorkSheets.Add("",Книга.WorkSheets(1)); P/S. на горох меня надо? |
|||
19
dk
15.09.09
✎
18:16
|
угу, тебя на горох
--- Лист2 = Книга.WorkSheets.Add(,Книга.WorkSheets(1)); или Лист2 = Книга.WorkSheets.Add(0,Книга.WorkSheets(1)); |
|||
20
smaharbA
15.09.09
✎
18:17
|
(19) не канает
|
|||
21
dk
15.09.09
✎
18:18
|
(20) точна?
|
|||
22
smaharbA
15.09.09
✎
18:20
|
(21) да
|
|||
23
dk
15.09.09
✎
18:34
|
блиннн, ну могет быть
--- ну тогда можно извратиться с Move |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |