Имя: Пароль:
IT
 
Excel: Отключить автоматический расчет формул по OLE
0 dk
 
30.03.07
11:28

   xlCalculationAutomatic    = -4105;
   xlCalculationManual    = -4135;

   Попытка
       scr                = СоздатьОбъект("MSScriptControl.ScriptControl");
       scr.language    = "vbscript";
       ExcelApp        = scr.eval("CreateObject(""Excel.Application"")");
   Исключение
       Попытка
           ExcelApp = СоздатьОбъект("Excel.Application");
       Исключение
           Сообщить("Не удалось открыть Excel. " + ОписаниеОшибки());
           Возврат;
       КонецПопытки;
   КонецПопытки;
   
   ExcelApp.Calculation = xlCalculationManual;

Ругается:
ExcelApp.Calculation = xlCalculationManual;
{C:\DOCUMENTS AND SETTINGS\DK\РАБОЧИЙ СТОЛ\EXCEL ДЛЯ ЗАКУПА\ERT\ВЫГРУЗКА В EXCEL 1_8.ERT(873)}: Microsoft Office Excel: Нельзя установить свойство Calculation класса Application
---
Excel 2003 SP2
Где грабли?
1 dk
 
30.03.07
11:40
Вверх
2 dk
 
30.03.07
11:53
ждем smaharba
3 dend
 
30.03.07
11:56
попробуй
ExcelApp.Calculation = -4135;
4 dend
 
30.03.07
11:56
(3)сорь верх не увидел...
5 smaharbA
 
30.03.07
12:17

//*******************************************
Процедура Сформировать()
   xlCalculationAutomatic = -4105;
   xlCalculationManual = -4135;
   Попытка
       scr = СоздатьОбъект("MSScriptControl.ScriptControl");
       scr.language = "vbscript";
       ExcelApp = scr.eval("CreateObject(""Excel.Application"")");
       ExcelApp.WorkBooks.Add();
       //Вот это, при таком обращении к ехелю нет книг в контексте
   Исключение
       Попытка
           ExcelApp = СоздатьОбъект("Excel.Application");
       Исключение
           Сообщить("Не удалось открыть Excel. " + ОписаниеОшибки());
           Возврат;
       КонецПопытки;
   КонецПопытки;
   ExcelApp.Calculation = xlCalculationManual;
КонецПроцедуры
6 dk
 
30.03.07
12:20
(5) работает, теперь поиграем в "Найти 10 отличий"
7 dk
 
30.03.07
12:25
(7) Спасибо, нашел. Нужно было открыть workbook а уже потом запрещать пересчет.
8 dk
 
30.03.07
12:25
(7) для (5)