Имя: Пароль:
1C
1C 7.7
v7: Не открывает шаблон Excel
0 Drac0
 
08.12.12
16:05
День добрый.

Пытаюсь открыть шаблон Excel следующим образом:

Файл =СоздатьОбъект("Excel.Application");
НовыеРабочиеКниги    =Файл.WorkBooks;
РабочаяКнига =НовыеРабочиеКниги.Add("Template:=" + ПутьШаблон);

Получаю ошибку:

Microsoft Office Excel: Нет доступа к файлу 'Template:=C:\1C_Bases\ZP_Автодом_ООО\ExtForms\123.xlt'. Это может быть вызвано одной из следующих причин.

• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.

Все три варианта проверил - отпадают. Права на файл выставлены по самое не могу. Что может быть еще? Заранее спасибо!
1 Надсмотрщик
 
08.12.12
18:21
КаталогИБ()
Синтаксис:
КаталогИБ()
Назначение:
Возвращает имя каталога базы данных.






КаталогИБ() + "\ExtForms\123.xlt";
2 Jaap Vduul
 
08.12.12
19:02
(0) Убери "Template:="
РабочаяКнига = НовыеРабочиеКниги.Add(ПутьШаблон);
3 Drac0
 
08.12.12
21:57
(1) С его помощью и получаю строку.

(2) Спасибо, проверю!
4 Torquader
 
09.12.12
00:53
В help написано:
expression.Add(Template)

expression   Required. An expression that returns a Workbooks object.

Template  Optional Variant. Determines how the new workbook is created. If this argument is a string specifying the name of an existing Microsoft Excel file, the new workbook is created with the specified file as a template. If this argument is a constant, the new workbook contains a single sheet of the specified type. Can be one of the following XlWBATemplate constants: xlWBATChart, xlWBATExcel4IntlMacroSheet, xlWBATExcel4MacroSheet, or xlWBATWorksheet. If this argument is omitted, Microsoft Excel creates a new workbook with a number of blank sheets (the number of sheets is set by the SheetsInNewWorkbook property

То есть, если в параметре имя файла, то создаётся шаблон из него, если константа (число), то создаётся пустая книга с одним листом.

В примере на VBA писалось Template="C:\\..." то есть именованный аргумент, а 1С просто не умеет передавать именованные аргументы - они передаются по позиции.