OneScript
OneScript copied to clipboard
ПолучитьCOMОбъект 1С ведет себя иначе
Здравствуйте, Андрей, обнаружил, что при указании двух параметров в ПолучитьCOMОбъект 1С ведет себя иначе, чем 1Скрипт... 1С использует только первый параметр, а 1с скрипт вываливается... Попытка Эксель=ПолучитьCOMОбъект("d:+E-Mail адреса турагенств.xls","Excel.Application";); Исключение Сообщить("Ошибка1: "+ОписаниеОшибки()); КонецПопытки; Попытка //Сообщить("ВсегоКолонок = "+Эксель.Cells.SpecialCells(11).Column); Сообщить("Видимый = "+Эксель.Application.Visible); Исключение Сообщить("Ошибка2: "+ОписаниеОшибки()); КонецПопытки;
@perfolenta а откуда информация, что 1С использует только 1-й параметр? В сигнатуре метода у них 2 параметра...
Я не очень хорошо представляю, как вообще должен работать этот метод
в сигнатуре у них два необязательных параметра от комбинации или отсутствия которых зависит поведение... в указанном мною случае, если указаны оба верных параметра, то поведение 1с зависит от того, запущен ли Эксель и открыт ли уже в нем указанный файл... если открыт указанный файл, то он и возвращается, а иначе выдает ошибку... а 1скрипт всегда выдает ошибку... Почему я решил, что используется только первый параметр? Потому, что если написать: Эксель=ПолучитьCOMОбъект("d:+E-Mail адреса турагенств.xls","Word.Application"); т.е. ворд вместо эксель, то 1с все равно открывает именно эксель и работает нормально... но второй параметр 1с все же проверяет на корректность, т.к. если в нем написать не существующий класс, то 1с выдает ошибку... это все конечно мелочи жизни, но если вы добиваетесь одинакового поведения с 1с, то тогда это важно...
Спасибо за ответ. Все равно выглядит, как некая черная магия и надо разбираться хорошо в COM, чтобы понять смысл этих параметров... Т.е. чинить надо, понимая, какие гайки крутить. В данном случае у меня понимания нет.