Установить в Excel свойство класса.

Новая тема
"Через 1С в Excel необходимо установить несколько свойств класса OutLine.

Делаю так:



1. ApplicationObj = СоздатьОбъект ("Excel.Application");

2. РабКнига = ApplicationObj.Workbooks.Open(Файл);  

3. Лист = РабКнига.WorkSheets("Sheet1");

4. РабКнига.ActiveSheet.Outline.AutomaticStyles = "False";

5. РабКнига.ActiveSheet.Outline.SummaryRow = "xlAbove";

6. РабКнига.ActiveSheet.Outline.SummaryColumn = "xlRight";



Но в результате на строчки: 4, 5, 6 выдается одна и та же ошибка - Нельзя установить свойство (AutomaticStyles, SummaryRow, SummaryColumn) класса OutLine

Хотя в excelевском хелпе указано, что эти свойства Read/Write



Как правильно установить эти свойства ?"
"В 4 пункте попробуй

РабКнига.ActiveSheet.Outline.AutomaticStyles = 0;"
"xlAbove и xlRight - эти имена констант понимает только Excel Visual Basic в текстах своих модулей. Через OLE нужно передавать их числовое значение.

xlAbove = 0

xlRight = -4152

Чтобы узнать числовые значения этих констант, я написал следующий код в редакторе Visual Basic:

Cells(1,1).Value = xlAbove

Cells(1,2).Value = xlRight

и запустил его.

А про True и False в документации по языку 1С сказано:

"В OLE Automation TRUE и FALSE имеют соответственно значе­ния: -1 (минус единица) и 0"

Итак, вот правильный код:

ApplicationObj = СоздатьОбъект ("Excel.Application");

РабКнига = ApplicationObj.Workbooks.Open(Файл);

Лист = РабКнига.WorkSheets("Sheet1");

РабКнига.ActiveSheet.Outline.AutomaticStyles = 0;

РабКнига.ActiveSheet.Outline.SummaryRow = 0;

РабКнига.ActiveSheet.Outline.SummaryColumn = -4152



"
Все заработало.

В очередной раз, покорно благодарю за разъяснение.
Читают тему
(гостей: 1)

Быстрый переход