![]() |
|
Пытаюсь копировать лист из одного файла Ексель в другой файл | ☑ | ||
---|---|---|---|---|
0
Birmingem
16.08.17
✎
11:06
|
Пытаюсь копировать лист из одного файла Ексель в другой файл.
Создал макрос копирования листа. Там есть такая строка: Sheets("ЛистИсточник").Copy After:=Workbooks("Прием.xls").Sheets(3) Как теперь эту строку написать в модуле 1С? Если писать так: КнигаИсточник.Sheets("ЛистИсточник").Copy After:=КнигаПрием.Sheets(3) то естественно ругается... |
|||
1
Ёпрст
гуру
16.08.17
✎
11:16
|
: выкини
|
|||
2
shadow_sw
16.08.17
✎
11:16
|
Попытка
Лист = Файл.Workbooks.Open(ФайлЛиста.Путь); Исключение Продолжить; КонецПопытки; Если ФайлЛиста.Путь =КаталогВременныхФайлов()+"Имя.xls" Тогда Лист.Worksheets(1).Name = "Имя"; Лист.Worksheets(1).Copy(Книга.Worksheets(1)); |
|||
3
Birmingem
16.08.17
✎
11:25
|
(1) КнигаИсточник.Sheets("ЛистИсточник").Copy After=КнигаПрием.Sheets(3)
Так? Все равно ругается на пробел между Copy и After. (2) Это уже пробовал. Создает новый лист с именем "TDSheet" и пихает его перед всеми другими листами. А надо чтобы создал лист с тем же именем, что в источнике, и поставил его после всех листов. Для этого и запустил макрос. Вот только как теперь код этого макроса написать в 1С? |
|||
4
Вафель
16.08.17
✎
11:27
|
В бэйсике процедуры без скобочек вызывваются, а в 1с со скобочками с перечислением всех параметров
|
|||
5
Вафель
16.08.17
✎
11:28
|
Смотри каким параметром по счету идет After
|
|||
6
shadow_sw
16.08.17
✎
11:40
|
Кусок из рабочего кода |
|||
7
shadow_sw
16.08.17
✎
11:41
|
500 руб в фонд мисты
|
|||
8
NorthWind
16.08.17
✎
11:50
|
(0) https://msdn.microsoft.com/ru-ru/library/office/microsoft.office.interop.excel.sheets.copy.aspx
After - второй параметр метода Copy, значит, надо писать нечто вроде Sheets("ЛистИсточник").Copy (, Workbooks("Прием.xls").Sheets(3)) |
|||
9
NorthWind
16.08.17
✎
11:51
|
MSDN - он хороший, он помогает :)
|
|||
10
Birmingem
16.08.17
✎
11:52
|
(5) Спасибо! Нарыл в инете: Copy(Before, After)
Т.е. у метода Copy два параметра: первый параметр - это "перед", второй - "после". |
|||
11
Вафель
16.08.17
✎
11:53
|
можно прям в екселе, в редакторе нажать crtl + f1
|
|||
12
Birmingem
16.08.17
✎
11:57
|
(6) это то же самое что и в (2)
(8) да, спасибо, уже нашел |
|||
13
shadow_sw
16.08.17
✎
11:59
|
(12) а кто сказал что за тебя буду переписывать код, я дал рабочий код, его можно переделать, при желании
|
|||
14
Birmingem
16.08.17
✎
12:15
|
(13)Спасибо! Но вопрос был не в том, как скопировать лист, а в том, как в 1С написать конкретный код макроса.
Ответ получен в (4) и (5). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |